Prometheus 监控:指标推送、Exporter 与查询语言深度解析
1. 指标推送(Pushing Metrics)
在 Prometheus 的设计中,默认采用拉取(pull)的方式来收集指标,但在某些情况下,推送(push)指标更为合适,例如批处理作业。批处理作业是一种不与特定实例绑定、不常执行或按计划执行的处理工作负载,并非始终处于运行状态。如果对这类作业进行监控,采用拉取方式很难成功采集指标,容易导致指标陈旧。
虽然可以使用 node_exporter 的文本文件收集器等替代方法来收集指标,但这些方法也存在缺点。如果工作负载不特定于某个实例,可能会产生多个时间序列,还需要处理文本文件收集器文件的清理逻辑。在没有更好选择的情况下,可以使用 Pushgateway。
1.1 Pushgateway 介绍
Pushgateway 是一个用于推送指标的工具,但仅适用于特定用例,并且使用时需要注意一些常见问题:
- 高可用性问题 :Pushgateway 缺乏高可用性,是单点故障点,会影响系统的扩展性。要处理更多指标或客户端,只能通过垂直扩展实例(增加资源)或分片(为不同逻辑组使用不同的 Pushgateway 实例)。
- 健康监控问题 :使用 Pushgateway 时,Prometheus 不直接从应用程序实例采集指标,因此无法使用 up 指标作为健康监控的代理。
- 指标清理问题 :与 node_exporter 的文本文件收集器类似,需要通过 API 手动从 Pushg
超级会员免费看
订阅专栏 解锁全文
1211

被折叠的 条评论
为什么被折叠?



