我需要普罗米修斯一个接一个地刮擦几个mongodb导出器,以便计算有效的复制滞后。但是,目标之间的刮擦时间相差数十秒,因此复制延迟无法计算。
职位信息如下:
- job_name: mongo-storage
honor_timestamps: true
scrape_interval: 1m
scrape_timeout: 10s
metrics_path: /metrics
scheme: http
static_configs:
- targets:
- mongo-1a-exporter.monitor:9216
- mongo-2a-exporter.monitor:9216
- mongo-3a-exporter.monitor:9216
- mongos-exporter.monitor:9216
- mongo-1b-exporter.monitor:9216
- mongo-2b-exporter.monitor:9216
- mongo-3b-exporter.monitor:9216
labels:
cluster: mongo-storage
答案 0 :(得分:2)
这是不可能的,Prometheus不保证刮擦或规则评估的阶段。这也不是您应该依赖的东西,因为它非常脆弱。
我的目的是了解刮擦间隔内的延迟,而不是试图使其完美。您通常会关心复制是否完全中断,而不是复制是否稍有延迟。心跳作业也有帮助。
答案 1 :(得分:1)
这通常不适用于普罗米修斯...
但是,可能可以利用prometheus/pushgateway来实现所需的功能。我的想法是,您编写一个脚本/工具以同步的方式(线程/叉/其他)来抓取mongo导出程序,然后将这些度量标准推送到prometheus/pushgateway实例中。
然后配置prometheus来抓取prometheus/pushgateway而不是mongo导出器,并且由于所有指标都在一个端点中,因此它们将始终保持同步并避免在更新方面出现任何滞后。
希望这会有所帮助。