083、Prometheus架构(2019-05-05 周日)
Prometheus 是一个非常优秀的监控工具,准确的说,应该是监控方案。Prometheus 提供了监控数据搜集、存储、处理、可视化和告警一整套的解决方案。
Prometheus 重要组件的架构如下:
Prometheus Server
负责从Exporter拉取和存储监控数据,并提供一套灵活的查询语言(PromQL)工用户使用
Exporter
负责收集目标对象(host、container)的性能数据,并通过HTTP接口供 Prometheus Server 获取
可视化组件
监控数据的可视化展示对于监控方案至关重要。以前Prometheus自己开发了一套工具,不够后来放弃了,因为开源社区出现了更为优秀的产品 Grafana。Grafana能够与 Prometheus无缝集成,提供完美的数据展示能力。
Alertmanager
用户可以定义基于监控数据的告警规则,规则会触发告警。一旦Alertmanager收到告警,会通过预定义的方式发出告警通知。支持的方式包括 email、PagerDuty、Webhook等
Prometheus 与 其他监控工具(zabbix、graphite、nagios等)相比,最大的亮点和先进性是他的多维数据模型。