Prometheus是一个开源的系统监视和警报工具包,自2012成立以来,许多公司和组织采用了Prometheus。它现在是一个独立的开源项目,并独立于任何公司维护。在2016年,Prometheus加入云计算基金会作为Kubernetes之后的第二托管项目。
Prometheus的关键特性如下:
Prometheus生态由多个组件组成,并且这些组件大部分是可选的:
Prometheus的整体架构
Prometheus从jobs获取度量数据,也直接或通过推送网关获取临时jobs的度量数据。它在本地存储所有被获取的样本,并在这些数据运行规则,对现有数据进行聚合和记录新的时间序列,或生成警报。通过Grafana或其他API消费者,可以可视化的查看收集到的数据。下图显示了Pometheus的整体架构和生态组件:
Prometheus的整体工作流程:
1)Prometheus 服务器定期从配置好的 jobs 或者 exporters 中获取度量数据;或者接收来自推送网关发送过来的 度量数据。
2)Prometheus 服务器在本地存储收集到的度量数据,并对这些数据进行聚合;
3)运行已定义好的 alert.rules,记录新的时间序列或者向告警管理器推送警报。
4)告警管理器根据配置文件,对接收到的警报进行处理,并通过email等途径发出告警。
5)Grafana等图形工具获取到监控数据,并以图形化的方式进行展示。
Prometheus