簡體   English   中英

配置結合 2 個不同實例狀態的 Prometheus 警報規則

[英]Configure Prometheus alerting rules combining the status of 2 different instances

我正在嘗試在 Prometheus Alerting Manager 中配置一個在 2 個不同主機的狀態關閉時出現的警報。 為了更好地解釋,我有這幾對主機(host= instance ):

host1.1
host1.2

host2.1
host2.2

host3.1 
host3.2

host4.1
host4.2
...

當 SAME 夫婦的兩個主機都關閉時,我需要一個警報:

expr = ( icmpping{instance=~"hostX1"}==0 and icmpping{instance=~"hostX2"}==0 )

(我知道語法不正確,我只是想強調X在兩個icmpping條件下都指代相同的數字)

任何提示?

最簡單的方法可能是在攝取時使用relabel_config生成反映此邏輯的標簽

relabel_configs:
  - source_labels: [host]
    regex: ^(.*)\.\d+$
    target_label: host_group

它將生成匹配所需的標簽:

host=host1.1 => host_group=host1
host=host1.2 => host_group=host1

然后,您可以將其用於警報規則。

sum(icmpping) on(host_group) == 0

如果這是不可能的,您可以使用label_replace來實現相同的(僅在即時向量上)

sum(label_replace(icmpping,"host_group","$1","host","(.*)\._\\d+")) on(host_group) == 0

暫無
暫無

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

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