【问题标题】:Prometheus metric value agePrometheus 度量值年龄
【发布时间】:2017-08-11 12:46:32
【问题描述】:

使用 Prometheus 黑盒导出器,我想知道如何检索指标或值的“年龄”,也就是“受监控的服务运行了多长时间?”。我知道我可以通过编写自己的导出器来解决这个问题,该导出器带有相关时间戳的计量指标,但我想知道我是否可以以某种方式使用现有函数?

我的设置....Prometheus 抓取配置:

scrape_configs:
- job_name: 'blackbox'
  scrape_interval: 120s
  scrape_timeout: 10s
  metrics_path: /probe

  params:
    module: [http_2xx]

  static_configs:
    - targets:
      - https://example.org

相关值可以通过up{job="blackbox"}查询,弹出:

Element                                             Value
up{instance="https://example.org/",job="blackbox"}  1

我想做的事:

time()-last_change(up{instance="https://example.org/",job="blackbox"})

有什么建议吗?

【问题讨论】:

    标签: prometheus


    【解决方案1】:

    这不是一个非常度量的问题,因此用 Prometheus 很难回答。 Prometheus 更关注整体状态而不是单个事件,例如抓取失败。

    如果受监控的服务使用支持它的 Prometheus 客户端库进行检测,process_start_time_seconds 可能会满足您的需求。

    【讨论】:

    • 谢谢 - 有点证实了我的发现。我选择 blackbox exporter 示例以避免指向客户端本地状态的答案。正如我所写,我知道我可以将这些信息保存在客户端中,但我更愿意在 Prometheus 中解决它。
    • 考虑它的方式是,当最后一个网络信号或任何发生的事情是无趣的。感兴趣的是它工作的时间比率 (avg_over_time),以确认这只是发生的奇怪现象,并且您完全符合 SLA。
    • 感谢您的帮助,但在此略有不同意见……有时开发人员或测试人员可能想知道他在 10 秒前看到的奇怪事情是由于他的行为还是由于其他众所周知的事情.. . “数据库在 10 秒前停机,但没关系,因为它发生的频率不高” ...我不会以此为基础发出警报,但在某些情况下它是有意义的。
    猜你喜欢
    • 2019-10-31
    • 2021-04-24
    • 1970-01-01
    • 2018-10-29
    • 2012-03-26
    • 1970-01-01
    • 2018-10-14
    • 1970-01-01
    • 2022-07-26
    相关资源
    最近更新 更多