java应用监控之prometheus核心组件,可爱的程序员们儿童节快乐

上一篇我们对prometheus做了一个简单的介绍,介绍了prometheus的优势以及和其他监控系统的对比,今天分享一下prometheus的核心组件。

1、prometheus总体结构

14962639-902b5ff5f81d619a

prometheus主要包含以下组件:prometheus

server负责收集任务的管理、日志的存储、以及PromQL的支持。Alertmanager负责告警,可以灵活的设置告警规则。pushgateway,因为prometheus只支持pull模式,通过pushgateway方式,处理那些不允许外部访问的监控,起到中间桥梁的作用。Web

UI,prometheus自带UI功能,如下图:

14962639-f2d83a960b76c5c4

自带UI功能比较简单,不过grafana完美支持prometheus,如下图:

14962639-73bab4cb9af61b30
14962639-4d3cac34a1d74fba

2、Prometheus Server

Prometheus

Server是Prometheus组件中的核心部分,负责实现对监控数据的获取,存储以及查询。 Prometheus

Server可以通过静态配置管理监控目标,也可以配合使用Service

Discovery的方式动态管理监控目标,并从这些监控目标中获取数据。其次Prometheus

Server需要对采集到的监控数据进行存储,Prometheus

Server本身就是一个时序数据库,将采集到的监控数据按照时间序列的方式存储在本地磁盘当中。最后Prometheus

Server对外提供了自定义的PromQL语言,实现对数据的查询以及分析。

Prometheus Server内置的Express Browser UI,通过这个UI可以直接通过PromQL实现数据的查询以及可视化。

Prometheus Server的联邦集群能力可以使其从其他的Prometheus Server实例中获取数据,因此在大规模监控的情况下,可以通过联邦集群以及功能分区的方式对Prometheus Server进行扩展。

3、Exporters

Exporter将监控数据采集的端点通过HTTP服务的形式暴露给Prometheus Server,Prometheus Server通过访问该Exporter提供的Endpoint端点,即可获取到需要采集的监控数据。

一般来说可以将Exporter分为2类:

直接采集:这一类Exporter直接内置了对Prometheus监控的支持,比如cAdvisor,Kubernetes,Etcd,Gokit等,都直接内置了用于向Prometheus暴露监控数据的端点。间接采集:间接采集,原有监控目标并不直接支持Prometheus,因此我们需要通过Prometheus提供的Client

Library编写该监控目标的监控采集程序。例如: Mysql Exporter,JMX Exporter,Consul Exporter等。

4、AlertManager

在Prometheus

Server中支持基于PromQL创建告警规则,如果满足PromQL定义的规则,则会产生一条告警,而告警的后续处理流程则由AlertManager进行管理。在AlertManager中我们可以与邮件,Slack等等内置的通知方式进行集成,也可以通过Webhook自定义告警处理方式。AlertManager即Prometheus体系中的告警处理中心。

5、PushGateway

由于Prometheus数据采集基于Pull模型进行设计,因此在网络环境的配置上必须要让Prometheus

Server能够直接与Exporter进行通信。

当这种网络需求无法直接满足时,就可以利用PushGateway来进行中转。可以通过PushGateway将内部网络的监控数据主动Push到Gateway当中。而Prometheus

Server则可以采用同样Pull的方式从PushGateway中获取到监控数据。

推荐阅读

java设计模式之组合模式

java设计模式之备忘录模式,世上真的有“后悔药”,带你穿越回过去

java设计模式之中介者模式,一箭双”雕“式二道贩子

java设计模式之访问者模式,“见人说人话,见鬼说鬼话”

java设计模式之原型模式,本故事纯属虚构,如有雷同,纯属巧合

java设计模式之桥接模式,策略模式旗舰版,世界没有免费的午餐

java设计模式之代理模式,看我72变

java设计模式之构建模式,私人订制自己的创意

java设计模式之状态模式,策略模式的孪生兄弟

java设计模式之迭代器模式,顾客永远的上帝

java设计模式之模板模式,站在巨人的肩膀上成功

java设计模式之适配器模式,大丈夫能屈能伸

Head First 设计模式之命令模式,各司其职提高效率

Head First 设计模式之装饰器模式,因为参与,所以认同

Head First 设计模式之单例模式,每个人都是唯一

Head First 设计模式之观察者模式,你我都是发布者和订阅者

Head first 设计模式之策略模式,来源于生活,用之于生活

更多文章:

15年经验的老兵推荐书单,高手是这样炼成的,你读了几本?

应用监控系列之谁开发谁运行谁监控

java应用监控之调用链跟踪选型之Zipkin、Pinpoint、SkyWalking、CAT

java思维导图学习笔记,好东西就应该和大家一起分享

14962639-e4dad233574def40

猜你喜欢

转载自blog.csdn.net/weixin_33757911/article/details/90844239
今日推荐