监控一哥Prometheus你可认识?

本文介绍了Prometheus监控系统的架构和工作原理,包括数据源、数据归集处理和数据应用三大层,以及各组件如exporters、Prometheusserver、AlertManager的作用。

【这是一猿小讲的第 54 篇原创分享】

先大致认识认识普罗米修斯 —— Prometheus。依据官方文档https://prometheus.io/docs/introduction/overview/ 大概能够了解到 Prometheus 是一个开源系统监控和报警工具包,通过基于 Http 的 pull 方式采集时序数据,支持多种多样的图表和界面展示。

640?wx_fmt=jpeg

如上面官方架构图所示,能看出 Prometheus 的生态中主要是由 exporters、Pushgateway、Prometheus server、AlertManager、Prometheus web UI 几个套件组成。

我感觉如果要一直这么聊下去,估计你会选择灰溜溜的走开,所以要细说每个套件都是干啥用的,那不妨在官方架构图的基础之上,再为你们上一图。

640?wx_fmt=png

如上图所示,我简单把 Prometheus 的生态划分为数据源、数据归集处理、数据应用三大层。

数据源层,主要是通过两种形式生产数据。

  • 一种是通过让应用加入Clinet lib类库集成 Prometheus,然后向PushGateway推送监控指标的数据。例如 Prometheus 对 flink 监控时,需要加入 flink-metrics-prometheus_xxxx.jar 类库进行支持;

  • 另一种则是直接通过 Prometheus 提供的系列 xx_exporter 完成监控指标数据的收集,例如 node_exporter 可以用来收集服务器的 CPU、内存、磁盘、I/O 等信息,(这就是上期分享中的 PGOne 中的 One Exporter

数据归集处理层,主要是 Prometheus server 通过 Http 的 pull 方式从数据源层拉取并存储监控的指标数据;然后运行已定义好的告警规则,向数据应用层的 Alertmanager 推送警报。思考 Prometheus server 背后,肯定要维护一份监控的目标对象 targets,不然怎么知道从哪儿拉取数据呢?实践中再进行体会吧,先知道这层是干啥的就行了。

数据应用层,我粗略的把这块划分为报警管理和监控数据展示两大应用。其中报警管理,是指 Alertmanager 依据配置,对接收到的 alerts 进行处理,发出告警;监控数据展示主要是进行监控指标数据的展示,常用的组件是 Grafana(这又是个啥玩意?放心,Grafana 后面会聊)。

到这应该对监控一哥普罗米修斯有了全新的认识,以后在技术选型的时候不妨也稍微考虑一下他,本次主要是搞懂理念,关于实战部分咱们单独开篇去讲。

好了,如果这次的简短的分享看着还算顺眼,不妨发扬一下风格,动动手指点个“在看”,让更多人一起进步。

640?wx_fmt=png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值