Prometheus PushGateway 碎碎念

本文涉及的产品
EMR Serverless StarRocks,5000CU*H 48000GB*H
可观测监控 Prometheus 版,每月50GB免费额度
简介: Prometheus 是一套开源的监控告警系统,PushGateway 是其中一个组件。这个组件用来收取推送来的数据并且供 Prometheus 来拉取。

Prometheus 是一套开源的监控告警系统,PushGateway 是其中一个组件。这个组件用来收取推送来的数据并且供 Prometheus 来拉取。


在 Prometheus 的 设计理念中,指标最好被暴露在一个固定的接口中,并且定时更新就好。Prometheus 会定时去这个接口拉取数据到 Prometheus 的数据库中,开发团队认为这种模式对于监控来讲是最合适的,这种拉取模式有这么几个好处。


第一,从 Server 端可以精确的控制一次获取多少数据。

第二,当数据量增大以后,无论是通过水平分割也好,还是垂直分割也好,只调整服务端就好。

第三,客户端会比较省事,只需要做一个安安静静的美男子,做好自己的事情--暴露指标就好,不需要关心 Server 在哪里,也不需要关心指标是否推送成功。


所以完全在这种模式的情况下,Prometheus 还是很完美的,但是总有人会提出不一样的需求,基于不同的场景,总有人会想要推送数据到 Prometheus 。为了解决数据推送的问题,Prometheus 的开发团队开发了 PushGateway,可以先将数据推送到 PushGateway ,然后 Prometheus 再从 PushGateway 拉取数据,这样既不用修改 Prometheus 的设计思路,也可以兼容这种少量场景。


开发团队在文档中一再强调,这种只适用于少量数据的个别场景。但是既然开了这个口子,就总有人会放大这个场景。举个例子,针对大数据方面的  Flink 应用的监控,Flink 是兼容 Prometheus 的,并且提供了 2 种模式,一种是基于 Prometheus 的拉取模式,会暴露特定的端口供 Prometheus 来拉取;一种是推送的模式,推送到 PushGateway。在网络上查找 Flink 的监控方案,不知道其他技术团队是怎么处理的,网络上好多基于 Yarn 的管理模式都是推荐使用 推送到 PushGateway 的方式来进行监控。


但是这样就违背了 Prometheus 的设计理念,而且还会遇到 PushGateway 的大内存以及 TTL 清理问题,很多人在 PushGateway 的 Issue 里提让增加类似 TTL 的参数来解决这个问题,开发团队给出的答复是,在举例的众多场景中,都是违背 Prometheus 设计理念的场景,所以拒绝添加 类似 TTL 的功能。我倒是很理解 Prometheus 开发团队的想法,但是企业业务团队的需求也要解决。目前还在寻找解决方案中,找到了再和大家分享。

相关文章
|
2月前
|
Prometheus 资源调度 监控
在Flink on Yarn中,确实可以使用Prometheus的Pushgateway来获取监控指标
在Flink on Yarn中,确实可以使用Prometheus的Pushgateway来获取监控指标
137 2
|
Prometheus Cloud Native Unix
Prometheus 使用Python推送指标数据到Pushgateway
Prometheus 使用Python推送指标数据到Pushgateway
439 0
|
监控
Prometheus-自定义监控指标 pushgateway
Prometheus-自定义监控指标 pushgateway
|
Prometheus Cloud Native
Prometheus与pushGateway安装与使用
本文介绍Prometheus与pushGateway安装与使用指南
|
2月前
|
编解码 Prometheus 运维
Prometheus 的监控方法论
【1月更文挑战第24天】
|
2月前
|
存储 Prometheus 监控
Prometheus vs. ELK Stack:容器监控与日志管理工具的较量
随着容器化技术的广泛应用,容器监控与日志管理成为了关键任务。本文将对两种常用工具进行比较与选择,分别是Prometheus和ELK Stack。Prometheus是一款开源的监控系统,专注于时序数据的收集和告警。而ELK Stack则是一套完整的日志管理解决方案,由Elasticsearch、Logstash和Kibana三个组件组成。通过比较它们的特点、优势和适用场景,读者可以更好地了解如何选择适合自己需求的工具。
|
2月前
|
Prometheus 监控 Kubernetes
如何用 Prometheus Operator 监控 K8s 集群外服务?
如何用 Prometheus Operator 监控 K8s 集群外服务?
|
2月前
|
Prometheus 监控 Kubernetes
Prometheus Operator 与 kube-prometheus 之二 - 如何监控 1.23+ kubeadm 集群
Prometheus Operator 与 kube-prometheus 之二 - 如何监控 1.23+ kubeadm 集群
|
25天前
|
Prometheus 监控 Cloud Native
基于Prometheus和Grafana的监控平台 - 环境搭建
基于Prometheus和Grafana的监控平台 - 环境搭建
|
6天前
|
Prometheus 监控 Cloud Native
使用Spring Boot和Prometheus进行监控
使用Spring Boot和Prometheus进行监控