1. 架构
按功能来说,可以分为3个模块
- 采集层
- 储存计算层
- 应用层
2. 各模块组件功能
2.1 采集层
- Pushgateway:推送网关,为支持short-lived(生命周期较短)作业提供一个推送网关。例如Flink Application,直接通过API,在应用退出时将指标推送给Pushgateway
- exporter:专门为一些(生命周期较长)应用开发的数据摄取组件,例如:HAProxy、StatsD、Graphite等
2.2 储存计算层
- Prometheus Server:主服务器,负责收集和存储时间序列数据,并对查询的数据进行计算
- Retrieval:为取数组件,它会主动从Pushgateway或者Exporter拉取指标数据。
- Service discovery:可以动态发现要监控的目标
- TSDB:数据核心存储与查询
- HTTP server:对外提供HTTP服务
2.3 应用层
- Alertmanager:专门用于处理alert报警的组件。包括Pagerduty(一套付费的监控报警系统)、Emial等
- 数据可视化:包括Prometheus build-in WebUI、Grafana、其他基于API开发的客户端