Prometheus 是一个很是优秀的监控工具。准确的说,应该是监控方案。Prometheus 提供了监控数据搜集、存储、处理、可视化和告警一套完整的解决方案。html
让咱们先来看看 Prometheus 的架构。ios
Prometheus 架构以下:架构
官网上的原始架构图比上面这张要复杂一些,为了集中你们的注意力,我只保留了最重要的组件。工具
Prometheus Server性能
Prometheus Server 负责从 Exporter 拉取和存储监控数据,并提供一套灵活的查询语言(PromQL)供用户使用。spa
Exporterhtm
Exporter 负责收集目标对象(host, container…)的性能数据,并经过 HTTP 接口供 Prometheus Server 获取。对象
可视化组件接口
监控数据的可视化展示对于监控方案相当重要。之前 Prometheus 本身开发了一套工具,不事后来废弃了,由于开源社区出现了更为优秀的产品 Grafana。Grafana 可以与 Prometheus 无缝集成,提供完美的数据展现能力。开发
Alertmanager
用户能够定义基于监控数据的告警规则,规则会触发告警。一旦 Alermanager 收到告警,会经过预约义的方式发出告警通知。支持的方式包括 Email、PagerDuty、Webhook 等.
也许一些熟悉其余监控方案的同窗看了 Prometheus 的架构会不觉得然,“这些功能 Zabbix、Graphite、Nagios 这类监控系统也都有,没什么特别的啊!”。
Prometheus 最大的亮点和先进性是它的多维数据模型,下节咱们重点介绍。
书籍:
1.《天天5分钟玩转Docker容器技术》
https://item.jd.com/16936307278.html
2.《天天5分钟玩转OpenStack》
https://item.jd.com/12086376.html