正文
★1)
Prometheus Server
:主要负责数据
采集
和
存储
,提供PromQL
查询语言
的支持。注意,它同时是一个存储!
2)客户端SDK:支持非常多语言的类库,越多越好。
3)
Push Gateway
:Prometheus获取监控数据的主要方式是
拉取
模式,但总有一些瞬时发生的监控项,这种信息无法pull。所以这个组件是为了支持一些存活时间很短的事件,把这些信息进行缓冲。
4)
PromDash
:使用Rails开发可视化的Dashboard,用于可视化指标数据
★5)
Exporter
:数据采集组件,也就是一些agent。负责从目标处搜集数据,并将其转化为Prometheus支持的格式
★6)
Alertmanager
:报警管理器,用于发送到正确的逻辑分组。常见的接收方式有:电子邮件,pagerduty,OpsGenie, webhook 等
7)
prometheus_cli
:命令行工具
8)其他辅助性工具:多种导出工具,可以支持Prometheus存储数据转化为HAProxy、StatsD、Graphite等工具所需要的数据存储格式
长篇大论的扯了一通,还是逃脱不了收集、处理、展示三大部件。看了以上的介绍,你应该能够看懂这张官方图。看那些大框框,不要关注细节。
我们来抽取一下比较特殊的要点。
1)它获取监控数值的方式是拉模式
2)它有一个存储数据的时序数据库,查询语言灵活,但不是SQL
3)有SDK、Agent、中间网关三种数据汇总方式
4)可以使用grafana代替它自带的丑八怪界面
5)能够细粒度配置报警,统一管理
2、安装和配置
了解了上面的组件,安装配置就顺利的多。先把Prometheus下载下来,然后解压。