alertmanager詳解


 

https://blog.csdn.net/u014029783/article/details/80654727

# alertmanager發送告警階段
在第一個階段Silence中,Alertmanager會判斷當前通知是否匹配到任何的靜默規則,如果沒有則進入下一個階段,否則則中斷流水線不發送通知。
在第二個階段Wait中,Alertmanager會根據當前Alertmanager在集群中所在的順序(index)等待index * 5s的時間。
當前Alertmanager等待階段結束后,Dedup階段則會判斷當前Alertmanager數據庫中該通知是否已經發送,如果已經發送則中斷流水線,不發送告警,否則則進入下一階段Send對外發送告警通知。
告警發送完成后該Alertmanager進入最后一個階段Gossip,Gossip會通知其他Alertmanager實例當前告警已經發送。其他實例接收到Gossip消息后,則會在自己的數據庫中保存該通知已發送的記錄。


配置和啟動
# --web.external-url 顯示配置郵件跳轉鏈接地址
./alertmanager --web.external-url='http://ip:9093/'

# dockerfile: https://hub.docker.com/r/prom/alertmanager/dockerfile

        ENTRYPOINT [ "/bin/alertmanager" ]
        CMD        [ "--config.file=/etc/alertmanager/alertmanager.yml", \
                     "--storage.path=/alertmanager" ]
            "--web.external-url='http://ip:32093/'"
             ]    

 

# 檢查告警規則
go get github.com/prometheus/prometheus/cmd/promtool
promtool check rules /path/to/example.rules.yml

# 熱重啟:
curl -XPOST http://ip:9093/-/reload

# curl調試
1、構造post數據

aa='[
 {
   "albels":{
    "alertname": "DIST11",
    "dev":"sdf1",
   },
   "annotations":{
    "info": "the disk ad1 is running full"
    "summary": "please check the instance example1"
   }
 }
]'

 


2、上傳數據到alertmanager服務器:curl http://ip:9093/api/v1/alerts -XPOST -d"$aa"


# 發送多個渠道

global:
  resolve_timeout: 5m
route:
  receiver: 'default-receiver'
  group_by:
  - alertname
  group_wait: 10s
  group_interval: 10s
  repeat_interval: 1h
  routes:
  - receiver: 'ops-receiver'
    match:
      way: ops   # grafanad 自定義tag
  - receiver: 'smn-receiver'
    match:
      way: smn   # grafanad 自定義tag

inhibit_rules:
- source_match:
    severity: critical
  target_match:
    severity: warning
  equal:
  - alertname
  - dev
  - instance
receivers:
- name: default-receiver
  webhook_configs:
  - url: http://ip:5001/test
- name: ops-receiver
  webhook_configs:
  - url: http://ip:5001/ops
- name: smn-receiver
  webhook_configs:
  - url: http://ip:5001/smn

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM