Prometheus 是一款基于时序数据库的开源监控告警系统,非常适合Kubernetes集群的监控。
Prometheus内置了一个强大的数据查询语言PromQL。 通过PromQL可以实现对监控数据的查询、聚合。同时PromQL也被应用于数据可视化(如Grafana)以及告警当中。
输出被监控组件信息的HTTP接口被叫做exporter
1、Prometheus Server
主要负责数据采集和存储,提供PromQL查询语言的支持。包含了三个组件:
Retrieval: 获取监控数据
TSDB: 时间序列数据库(Time Series Database),
HTTP Server: 为告警和出图提供查询接口
2、Exporters: Prometheus的一类数据采集组件的总称。它负责从目标处搜集数据,并将其转化为Prometheus支持的格式。与传统的数据采集组件不同的是,它并不向中央服务器发送数据,而是等待中央服务器主动前来抓取。
3、Pushgateway: 支持临时性Job主动推送指标的中间网关