文章目录
- Prometheus架构图
- Prometheus生态圈组件
- Prometheus Server
- client libraries
- Pushgateway
- exporter
- Alartmanager
- Prometheus架构理解
- 存储计算层
- 采集层
- 应用层
Prometheus架构图
Prometheus生态圈组件
Prometheus Server
主服务器,负责收集和存储时间序列数据
client libraries
应用程序代码插桩,负责将监控指标嵌入到被监控应用中
Pushgateway
推送网关。为支持short-lived作业提供一个推送网关
exporter
专门为一些应用开发的数据镊取软件— exporter
如:HAProxy、StatsD、Graphite 等等。
Alartmanager
专门用于处理alart的组件
Prometheus架构理解
Prometheus既然设计为一个存储纬度的模型,那就可以将其理解为一个OLAP模型
存储计算层
-
Prometheus Server
主服务器,包含了存储引擎和计算引擎 -
Retrival
取数组件,它会主动从pushgateway或是exporter拉去指标数据 -
Service Discovery
可以动态发现需要监控的指标 -
TSDB(时间序列数据库)
数据核心存储和查询 -
HTTP Server
对外提供http服务
采集层
采集分为两类:一类是生命周期较短的作业,另一类是生命周期较长的作业:
- 短周期作业:直接通过API,在退出时间指标之前推送给pushgateway
- 长周期作业:Retrival直接从Job或者exporter中拉取数据
应用层
应用层主要分为两部分:一是alartmanager,另一个是数据可视化
- AlertManager
对接 Pagerduty,是一套付费的监控报警系统。可实现短信报警、5 分钟无人 ack 打
电话通知、仍然无人 ack,通知值班人员 Manager…Emial,发送邮件 - 数据可视化
Prometheus build-in WebUI
Grafana
其他基于 API 开发的客户端