2017-08-11 52 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