2017-08-11 24 views
1

使用普罗米修斯黑匣子出口商我想知道如何检索度量或价值“a.k.a”的“年龄”“受监控的服务需要多长时间?”。我知道我可以解决这个问题,我正在编写自己的导出器,它带有相关时间戳的度量标准,但是我想知道我能否以某种方式使用现有函数?普罗米修斯公制价值年龄

我的设置....普罗米修斯刮配置:

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"}) 

有什么建议吗?

回答

0

这不是一个非常困难的问题,所以很难用普罗米修斯来回答。普罗米修斯更注重整体状态,而不是单个事件,比如刮擦失败。

如果受监视的服务装有支持它的Prometheus客户端库,则process_start_time_seconds可能会执行您所需的操作。

+0

谢谢 - 这种证实我的发现。我选择blackbox导出器示例以避免指向客户端中本地状态的答案。正如我写的,我知道我可以将这些信息保存在客户端,但我更愿意在Prometheus中解决这个问题。 – pagid

+0

思考问题的方法是,当最后一次网络昙花或发生什么事情时都不感兴趣。令人感兴趣的是它的工作时间比率('avg_over_time'),以确认它仅仅是发生了一些奇怪的事情,并且你在SLA中很好。 –

+0

我感谢你的帮助,但稍微有点不同意......有时候开发者或测试人员可能会怀疑他10秒钟前看到的奇怪事情是由于他的行为还是由于其他一些众所周知的事情造成的......“数据库倒下10秒以前,但这很好,因为它不会太频繁发生“......我不会基于此提醒,但在某些情况下它很有用。 – pagid