美河学习在线 www.eimhe.com
Prometheus 各组件运行流程如下:
1、 Prometheus Server:Prometheus Sever 是 Prometheus 组件中的核心部分,负责实现对监
控数据的获取,存储及查询。Prometheus Server 可以通过静态配置管理监控目标,也可
以配合使用 Service Discovery(服务发现)的方式动态管理监控目标,并从这些监控目标中
获取数据。其次 Prometheus Sever 需要对采集到的数据进行存储,Prometheus Server 本
身就是一个实时数据库,将采集到的监控数据按照时间序列的方式存储在本地磁盘当中。
Prometheus Server 对外提供了自定义的 PromQL,实现对数据的查询以及分析。另外
Prometheus Server 的联邦集群能力可以使其从其他的 Prometheus Server 实例中获取数
据。
2、Exporters:Exporter 将监控数据采集的端点通过 HTTP 服务的形式暴露给 Prometheus Server,
Prometheus Server 通过访问该 Exporter 提供的 Endpoint 端点,即可以获取到需要采集的监
控数据。可以将 Exporter 分为 2 类:
(1)、直接采集:这一类 Exporter 直接内置了对 Prometheus 监控的支持,比如 cAdvisor,
Kubernetes,Etcd,Gokit 等,都直接内置了用于向 Prometheus 暴露监控数据的端点。
(2)、 间接采集:原有监控目标并不直接支持 Prometheus,因此需要通过 Prometheus 提
供的 Client Library 编写该监控目标的监控采集程序。例如:Mysql Exporter,JMX Exporter,
Consul Exporter 等。
3、AlertManager:在 Prometheus Server 中支持基于 Prom QL 创建告警规则,如果满足 Prom
QL 定义的规则,则会产生一条告警。常见的接收方式有:电子邮件,webhook 等。
4、PushGateway:Prometheus 数据采集基于 Prometheus Server 从 Exporter pull 数据,因此当
网络环境不允许 Prometheus Server 和 Exporter 进行通信时,可以使用 PushGateway 来进行
中转。
评论