CnOps 智能运维与可观测社区
首页开源项目实践文章视频课程常见问答开发者工具STAROps 专题
导航菜单
首页开源项目实践文章视频课程常见问答开发者工具STAROps 专题

CnOps 智能运维与可观测社区

愿景

CnOps 智能运维与可观测社区是一个以"智能运维与可观测"为核心的开放、包容、分享的技术社区,旨在聚集运维专家、开发者和爱好者,共同探讨、学习和分享可观测最佳实践与最新技术,与众多技术社区合作互动,共同探讨交叉领域的技术挑战,推动可观测领域的创新与进步。

内容社区

  • 实践文章
  • 视频课程
  • 开源项目
  • 常见问答
  • 开发者工具

友情链接

  • Prometheus
  • Grafana Lab
  • OpenTelemetry
  • LoongCollector

关注我们

阿里云云原生公众号阿里云云原生
阿里云可观测公众号阿里云可观测

Copyright © 2026 CnOps 社区. All rights reserved.

首页/开源项目/Prometheus/何时使用 Pushgateway
文档目录
指标与标签命名控制台和仪表盘监控埋点Histogram 和 summary告警记录规则何时使用 PushgatewayRemote write 调优Prometheus 之禅

Prometheus

何时使用 Pushgateway

Pushgateway 是一个中间服务,允许你从无法被抓取的作业推送指标。详情请参阅推送指标。 我们只建议在某些有限的情况下使用 Pushgateway。 盲目使用 Pushgateway 替代 Prometheus 通常的拉取模型进行一般指标收集时,存在几个陷阱: 当通过单个 Pushgateway 监控多个实例时,Pushgateway 会成为单点故障和潜在的瓶颈。 你会失去...

Pushgateway 是一个中间服务,允许你从无法被抓取的作业推送指标。详情请参阅推送指标。

我应该使用 Pushgateway 吗?

我们只建议在某些有限的情况下使用 Pushgateway。 盲目使用 Pushgateway 替代 Prometheus 通常的拉取模型进行一般指标收集时,存在几个陷阱:

  • 当通过单个 Pushgateway 监控多个实例时,Pushgateway 会成为单点故障和潜在的瓶颈。
  • 你会失去 Prometheus 通过 up 指标(每次抓取时自动生成)进行的自动实例健康监控。
  • Pushgateway 永远不会忘记推送给它的时间序列,会一直将它们暴露给 Prometheus,除非通过 Pushgateway 的 API 手动删除这些时间序列。

最后一点在多个作业实例通过 instance 标签或类似方式在 Pushgateway 中区分各自的指标时尤为相关。即使原始实例被重命名或移除,该实例的指标仍会保留在 Pushgateway 中。这是因为 Pushgateway 作为指标缓存的生命周期与推送指标给它的进程的生命周期是根本分离的。对比 Prometheus 通常的拉取式监控:当一个实例消失时(无论有意还是无意),它的指标会自动随之消失。使用 Pushgateway 时则不是这样,你需要手动删除任何过时的指标或自行实现这种生命周期同步的自动化。

通常,Pushgateway 唯一合理的使用场景是捕获服务级别批处理作业的结果。 "服务级别"批处理作业是指在语义上与特定机器或作业实例无关的作业(例如,为整个服务删除一批用户的批处理作业)。此类作业的指标不应包含机器或实例标签,以将特定机器或实例的生命周期与推送的指标解耦。这减少了在 Pushgateway 中管理过时指标的负担。另请参阅监控批处理作业的最佳实践。

替代策略

如果入站防火墙或 NAT 阻止你从目标拉取指标,请考虑将 Prometheus 服务器也移至网络屏障之后。我们通常建议将 Prometheus 服务器运行在与被监控实例相同的网络中。否则,可以考虑使用 PushProx,它允许 Prometheus 穿越防火墙或 NAT。

对于与机器相关的批处理作业(如自动安全更新定时任务或配置管理客户端运行),请使用 Node Exporter 的 textfile 收集器来暴露结果指标,而不是使用 Pushgateway。

文章大纲