Prometheus 生态圈组件
➢ Prometheus Server:主服务器,负责收集和存储时间序列数据
➢ client libraies:应用程序代码插桩,将监控指标嵌入到被监控应用程序中
➢ Pushgateway:推送网关,为支持 short-lived 作业提供一个推送网关
➢ exporter:专门为一些应用开发的数据摄取组件—exporter,例如:HAProxy、StatsD、Graphite 等等。
➢ Alertmanager:专门用于处理 alert 的组件
架构理解
Prometheus 既然设计为一个维度存储模型,可以把它理解为一个 OLAP 系统。
1、存储计算层
➢ Prometheus Server,里面包含了存储引擎和计算引擎。
➢ Retrieval 组件为取数组件,它会主动从 Pushgateway 或者 Exporter 拉取指标数据。
➢ Service discovery,可以动态发现要监控的目标。
➢ TSDB,数据核心存储与查询。
➢ HTTP server,对外提供 HTTP 服务。
2、采集层
采集层分为两类,一类是生命周期较短的作业,还有一类是生命周期较长的作业。
➢ 短作业:直接通过 API,在退出时间指标推送给 Pushgateway。
➢ 长作业:Retrieval 组件直接从 Job 或者 Exporter 拉取数据。
3、应用层
应用层主要分为两种,一种是 AlertManager,另一种是数据可视化。
➢ AlertManager
对接 Pagerduty,是一套付费的监控报警系统。可实现短信报警、5 分钟无人 ack 打
电话通知、仍然无人 ack,通知值班人员 Manager…
Emial,发送邮件
… …
➢ 数据可视化
Prometheus build-in WebUI
Grafana
其他基于 API 开发的客户端