我想將我的警報發送到 Prometheus 的 Alertmanager 中的兩個不同的分發串列。區分我的警報的唯一方法是通過他們的作業名稱。
我的警報名稱如下:
樣品1:
Labels
alertname = SyslogErrors
instance = 22.32.23.32:2324
job = my-job-sample-service-dev
message = Exception raised during message subscription. Trying again in 60 seconds
monitor = server1
severity = critical
Annotations
description = Errors have been found for my-job-sample-service-dev application in /data/logs/messages/my-job-sample-service-dev syslog file
Source
樣本2:
Labels
alertname = SyslogErrors
instance = 22.32.23.32:2324
job = my-job-sample-service-pre-dev
message = Exception raised during message subscription. Trying again in 60 seconds
monitor = server1
severity = critical
Annotations
description = Errors have been found for my-job-sample-service-pre-dev application in /data/logs/messages/my-job-sample-service-pre-dev syslog file
Source
這是我的示例警報管理器組態檔:
global:
smtp_smarthost: 'mail.server.com:25'
smtp_from: '[email protected]'
smtp_require_tls: false
templates:
- '/etc/alertmanager/template/*.tmpl'
route:
receiver: mail-receiver-dev
group_by: ['alertname']
group_wait: 3s
group_interval: 5s
repeat_interval: 1h
# All alerts that do not match the following child routes
# will remain at the root node and be dispatched to 'default-receiver'.
routes:
- receiver: 'mail-pre-dev'
group_wait: 10s
match_re:
- job = .*pre-dev.*
- receiver: 'mail-dev'
group_wait: 10s
match_re:
- job = .*dev.*
receivers:
- name: 'mail-dev'
email_configs:
- to: '[email protected]'
send_resolved: true
- name: 'mail-pre-dev'
email_configs:
- to: '[email protected]'
send_resolved: true
我使用以下鏈接作為參考: 參考
測驗組態檔鏈接 testscript 以使用上述鏈接:{service="foo-service",severity="critical",job="my-job-sample-service-dev"}
所以問題是,如何通過使用正則運算式來向不同的頻道發送警報?在我測驗所有警報的那一刻,所有警報都進入了 pre-dev。
uj5u.com熱心網友回復:
更改以下內容:
match_re:
- job = .*pre-dev.*
至:
matchers:
- job =~ ".*pre-dev.*"
筆記:
“match_re”已被棄用,必須用“matchers”代替,但如果你想使用它,正確的語法是:
match_re:
- job: ".*pre-dev.*"
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/485696.html
