簡體   English   中英

如果報告 prometheus gauge 指標超過 3 小時,則發出警報

[英]Alert if a prometheus gauge metric is reported for more than 3 hours

我每個月左右在基礎設施中的每台主機上運行一個進程。 每當進程在任何主機上運行時,它每分鍾發送一次度量“process_running{instance=<>}”,當進程退出時,顯然沒有度量從該主機發送到 prom。 現在我想在進程卡在任何主機上時發出警報 - 運行時間 > 3 小時。 我嘗試了 absent() 和 metric<> 本身的各種組合。 但是當我按(實例)分組時它不起作用

如果您知道 Prometheus 為給定instance記錄的指標process_running的樣本之間的間隔(此間隔稱為scrape_interval ),則可以使用以下查詢來確定時間序列,該時間序列在期間持續超過 3 小時最后一天:

(count_over_time(process_running[1d]) * scrape_interval) > 3*3600

如果scrape_interval未知,則 Prometheus 不提供確定時間序列持續時間的能力。 在這種情況下,您可以使用 VictoriaMetrics 的lifetime()函數(這是我正在研究的類似 Prometheus 的監控系統)。 例如,以下MetricsQL查詢返回時間序列,這些時間序列在最后一天接收樣本超過 3 小時:

lifetime(process_running[1d]) > 3h

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM