Prometheus是一个开源系统监控和警报工具包, 其他开源系统监控还有zabbix,open-falcon。
Prometheus 将其指标收集并存储为时间序列数据,即指标信息与记录的时间戳一起存储,以及称为标签的可选键值对(时序数据库)。
特征
普罗米修斯的主要特点是:
- 一个多维数据模型,具有由指标名称和键/值对标识的时间序列数据
- PromQL,一种 利用这种维度的灵活查询语言
- 不依赖分布式存储;单个服务器节点是自治的
- 时间序列收集通过 HTTP 上的拉模型发生
- 通过中间网关支持推送时间序列
- 通过服务发现或静态配置发现目标
- 多种图形和仪表板支持模式
服务架构
Prometheus 的架构及其一些生态系统组件
- Prometheus通过
pull方式周期性采集服务暴露的http接口的监控指标(通过pushgateway可以实现指标的push方式上报) - 数据保存到本地的时序数据库中(也支持其他时序数据库的远程读写,高可用架构中通常会用到)
- 可以灵活的使用PromQL配置报警规则,报警将发送到
Alertmanager组件管理报警 Alertmanager组件功能包括静默、抑制、聚合等, 并支持多种方式的报警通知策略。