解決alertmanager重複傳送訊息的問題
1,問題
在前一篇部落格中有講到說使用alertmanager,即便設定了repeat_interval,但還是收到了兩條告警,且間隔時間是for標籤的時間
alertmanager片段示例:
routes:
- receiver: message
match:
xxxx:xxxx
repeat_interval: 3600s
continue: true
receivers:
- name: message
webhook_configs:
- send_resolved: true
url: http://localhost:8080/message/yyyy
prometheus 規則片段示例:
rules:
- alert: alertName
expr: up == 1
for: 5m
labels:
xxxx:xxxx
2,可能的原因
1,send_resloved = true
這個標籤表示告警恢復後,會傳送通知,已經正常了。(就是這個標籤的鍋)
2,沒有group_by標籤。
後邊查證,沒有group_by標籤,預設在一組裡邊,所以也沒影響。
3,repeat_interval設定的是s不是h。
這個就更離譜了,Prometheus的duration裡邊有常用的時間單位,當然包含s。
3,結果
1,試驗了一下,是send_resloved=true引起的。
至於收到兩條告警,猜想原因是第二條告警是告警恢復通知,但是由於routes裡邊配置的都是web_hook,觸發到業務介面,都當成告警處理了,所以其實第二個通知的內容可能是告警已經恢復的通知,而不是告警,所以這裡可能是業務邏輯的bug,但還好,在設定send_resloved = false後,就沒有收到第二條訊息了,ps,send_resloved預設就是false的,我就是手殘,沒事兒設定這個,測試還專門提了bug。服氣。
2,關於repeat_interval的理解。
如果repeat_interval:1h,那麼這個小時內,如果有產生多個告警,那麼只會通知一次,一條訊息。
相關文章
- 解決RabbitMQ訊息丟失與重複消費問題MQ
- RabbitMQ,RocketMQ,Kafka 事務性,訊息丟失和訊息重複傳送的處理策略MQKafka
- Erlang中頻繁傳送遠端訊息要注意的問題
- 解決表單重複提交的問題
- 移動推送訊息送達常見問題與解決辦法
- RocketMq訊息丟失問題解決MQ
- 訊息中介軟體—RocketMQ訊息傳送MQ
- 【RocketMQ】MQ訊息傳送MQ
- RocketMQ(八):訊息傳送MQ
- iOS 傳送位置訊息iOS
- 鴻蒙傳送訊息通知鴻蒙
- win10玩dnf傳送不了訊息怎麼解決_win10玩dnf傳送不了訊息如何處理Win10
- php ActiveMQ的傳送訊息,與處理訊息PHPMQ
- (完美解決)chatGPT登陸正常卻無法傳送訊息ChatGPT
- iOS 訊息傳送與轉發詳解iOS
- RabbitMQ:訊息丟失 | 訊息重複 | 訊息積壓的原因+解決方案+網上學不到的使用心得MQ
- RocketMQ中Producer訊息的傳送MQ
- 傳送不同型別的訊息型別
- Alertmanager傳送告警郵件配置
- 解決winform窗體重複建立問題ORM
- RocketMQ(九):訊息傳送(續)MQ
- TNW-傳送模板訊息TNW
- 6-RocketMQ傳送訊息MQ
- 圖解RocketMQ訊息傳送和儲存流程圖解MQ
- 解決生產日誌重複列印的問題
- JavaMail郵件傳送在linux環境下不能傳送的問題解決JavaAILinux
- 傳送kafka訊息的shell指令碼Kafka指令碼
- 元件複用傳值(待解決問題)元件
- 快速解決mongodb出現id重複問題MongoDB
- 重複登入問題最終解決方法
- RocketMQ -- 訊息傳送儲存流程MQ
- Kafka -- 訊息傳送儲存流程Kafka
- 快速向 Google Chat 傳送訊息Go
- iOS 給父類傳送訊息iOS
- 小程式傳送訂閱訊息
- 【RocketMq-Producer】訊息傳送者引數詳解MQ
- 微信公眾號傳送模板訊息,出現亂碼問題---字元中文編碼問題字元
- 解決Linq.ToDictionary()時的鍵重複問題