WHEN TO USE THE PUSHGATEWAY


Pushgateway是一个中介服务,允许您从不能被刮除的作业推出指标。 有关详细信息,请参阅推送指标。

我应该用Pushgateway吗?

在某些有限的情况下,我们只推荐使用Pushgateway。 盲目使用Pushgateway而不是普罗米修斯通常采用拉普模式进行一般指标收集时有几个陷阱:

  • 通过单个Pushgateway监控多个实例时,Pushgateway将成为单点故障和潜在瓶颈。
  • 您将通过增加的指标(每次刮擦产生)失去普罗米修斯的自动实例健康监控。Pushgateway永远不会忘记系列推送​​给它,并将永远暴露给普罗米修斯,除非这些系列通过Pushgateway的API手动删除。后一点在多个工作实例通过实例标签或类似的功能区分其在Pushgateway中的度量标准时尤为重要。即使原始实例被重命名或删除,实例的度量仍然保留在Pushgateway中。这是因为Pushgateway作为度量缓存的生命周期与推动度量标准的流程的生命周期截然不同。与普罗米修斯通常的拉式监控相反:当一个实例消失(有意或没有)时,其指标将随之自动消失。当使用Pushgateway时,情况并非如此,您现在必须手动删除任何陈旧的指标,或自动完成此生命周期同步。

通常,Pushgateway的唯一有效用例是捕获服务级批处理作业的结果。 “服务级别”批处理作业是与特定机器或作业实例(例如,为整个服务删除多个用户的批处理作业)语义无关的批处理作业。这样的作业指标不应包括机器或实例标签,以将特定机器或实例的生命周期与推送的度量相分离。这减少了在Pushgateway管理陈旧指标的负担。另请参阅监控批处理作业的最佳做法。

替代策略

如果入站防火墙或NAT阻止您从目标中提取指标,请考虑将Prometheus服务器移动到网络屏障之后。 我们通常建议在与监视的实例相同的网络上运行Prometheus服务器。

对于与机器相关的批处理作业(例如自动安全更新cronjobs或配置管理客户端运行),使用Node Exporter的文本文件模块而不是Pushgateway公开生成的度量。