【问题标题】:Can prometheus scrape targets together?普罗米修斯可以一起刮目标吗?
【发布时间】:2019-09-12 09:42:59
【问题描述】:

我需要 Prometheus 一个接一个地抓取几个 mongodb 导出器,以便计算有效的复制延迟。然而,这些目标被抓取时相差几十秒,这使得复制延迟无法计算。

job yaml 如下:

- 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

【问题讨论】:

    标签: kubernetes monitoring prometheus


    【解决方案1】:

    这是不可能的,Prometheus 不保证刮擦或规则评估的阶段。这也不是你应该依赖的东西,因为它非常脆弱。

    我的目标是了解抓取间隔内的延迟,而不是试图让它完美。您通常关心复制是否完全中断,而不是稍微延迟。心跳工作也有帮助。

    【讨论】:

      【解决方案2】:

      这在普罗米修斯中是不可能的……通常情况下。

      但是,有可能利用prometheus/pushgateway 来实现您想要的。我的想法是,您编写一个脚本/工具以同步方式(threads/forks/whatever)抓取 mongo 导出器,然后将这些指标推送到 prometheus/pushgateway 实例中。

      然后配置 prometheus 以抓取 prometheus/pushgateway 而不是 mongo 导出器,并且由于所有指标都在一个端点中,因此它们有望始终保持同步并避免任何与更新有关的延迟。

      希望这会有所帮助。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2022-12-11
        • 2020-01-17
        • 1970-01-01
        • 2022-12-02
        • 2020-01-10
        • 2020-11-12
        • 2020-06-10
        • 2019-04-17
        相关资源
        最近更新 更多