Prometheus PushGateway 碎碎念

本文涉及的产品
可观测监控 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 开发团队的想法,但是企业业务团队的需求也要解决。目前还在寻找解决方案中,找到了再和大家分享。

相关文章
|
Prometheus 资源调度 监控
在Flink on Yarn中,确实可以使用Prometheus的Pushgateway来获取监控指标
在Flink on Yarn中,确实可以使用Prometheus的Pushgateway来获取监控指标
456 2
|
Prometheus Cloud Native Unix
Prometheus 使用Python推送指标数据到Pushgateway
Prometheus 使用Python推送指标数据到Pushgateway
806 0
|
监控
Prometheus-自定义监控指标 pushgateway
Prometheus-自定义监控指标 pushgateway
|
Prometheus Cloud Native
Prometheus与pushGateway安装与使用
本文介绍Prometheus与pushGateway安装与使用指南
|
5月前
|
Prometheus 监控 Cloud Native
云原生监控实战:Prometheus+Grafana快速搭建指南
云原生监控实战:Prometheus+Grafana快速搭建指南
|
5月前
|
存储 Prometheus 监控
OSS监控体系搭建:Prometheus+Grafana实时监控流量、错误码、存储量(开源方案替代云监控自定义视图)
本方案基于Prometheus构建OSS监控系统,涵盖架构设计、指标采集、可视化、告警及性能优化,助力企业实现高可用、低成本的自建监控体系。
583 1
|
6月前
|
Prometheus 监控 Cloud Native
除了Prometheus,还有哪些工具可以监控Docker Swarm集群的资源使用情况?
除了Prometheus,还有哪些工具可以监控Docker Swarm集群的资源使用情况?
534 79
|
5月前
|
存储 监控 Cloud Native
云原生监控实战:Prometheus+Grafana打造RDS多维度预警体系
本方案构建了基于Prometheus与Thanos的云原生RDS监控体系,涵盖数据采集、存储、可视化与告警全流程。支持10万+QPS采集、90%存储压缩,具备<30秒告警延迟能力。通过自定义指标与智能预警策略,显著提升故障发现效率,实现分钟级响应。
444 5
|
5月前
|
Prometheus 监控 Cloud Native
|
4月前
|
Prometheus 监控 Cloud Native
Docker 部署 Prometheus 和 Grafana 监控 Spring Boot 服务
Docker 部署 Prometheus 和 Grafana 监控 Spring Boot 服务实现步骤
521 0
下一篇
oss云网关配置