alertmanager郵件告警


alertmanager郵件告警

這篇文章是基於之前博客進行開展的:關於計划任務的一個小需求(https://www.cnblogs.com/windysai/p/14352248.html)

利用了prometheus 下 process-exporter對crond計划任務進程監控的, grafana內置的監控報警有點丑,如下圖:

 

 

而且配置不夠靈活,沒有分組,靜默等東西配置。所以就有了這個alertmanager的玩意研究了。之前搞k8s的監控接觸過,但是理解不深,沒搞清楚整個過程怎么報警起來的。

老實說,因為改用alertmanager,默認是不支持釘釘告警的,我還沒弄出來 = =(會單獨寫一篇文章);這點grafana做的好,直接配置機器人token的就能發,省事好多。

  先從簡單入手,測了個alertmanager的郵件告警(k8s也是這么弄的),大致有個印象。配置告警規則讓prometheus讀 ——》 alertmanager配置告警處理方式。。。

  用了NodeFilesystemUsage,根目錄/ 磁盤分區使用率超過30%就告警,一直沒發(用163郵箱作為發送方發給我的qq郵箱),我當時還自我良好,看到下面這個圖不以為意。

 老實說,你不裝node_exporter(監控服務器的基礎資源,如:內存、CPU、網絡等資源),怎么可能會有返回值呢

 所以第一個事,乖乖裝好,才能通過符合PromQL的語法查詢出值來的

  

 第一個體會是:監控+告警整個流程梳理。

   實際上整個流程,簡單概括:

  (1)組件采集數據(像node_exporter,process_exporter等)

  (2)暴露類似這樣的url:http//本機ip:端口/metrics(curl localhost:9100/metrics 會有值的!!!這里端口是node_exporter默認監聽端口)

  (3)prometheus通過拉取方式讀數據,最終給grafana展示

  (4)alertmanager告警

 

 第二個用alertmanager的體會是:靜默設置。

 

  看到這個蠻頭痛的,圖是微信設置收取QQ郵件截的。默認每5分鍾發一次

  靜默規則設置參考這個的:http://www.linuxe.cn/post-518.html

 

 讓它2個小時內不要發(都知道有這么一回事了)。我特別說下圖上的Matchers的Name和Value怎么填。是配置給prometheus讀的告警規則那里來的,相當於做了個匹配規則,把serverity為warning的告警全部關掉2小時(注意時間 +8小時,剛好跟我下午2點的時間一致的)

 

 如果想關掉靜默設置,可以直接讓它Expire,當然也可以根據需要繼續Edit 靜默規則,寫出更符合當前監控告警需求的

 

 

 第三個用alertmanager的體會是:自定義告警模板

 

  賊難看 = =。

  做法是這樣的:

  (1)配置告警規則 

  (2)編寫郵件模板文件:email.tmpl   ——》新增

[root@ljy alertmanager]#cat /usr/local/src/monitor/alertmanager/template_alert/email.tmpl 
{{ define "email.html" }}
    {{ range .Alerts }}
<pre>
    ========start==========
    告警程序: prometheus_alert 
    告警級別: {{ .Labels.severity }} 
    告警類型: {{ .Labels.alertname }} 
    故障主機: {{ .Labels.instance }} 
    告警主題: {{ .Annotations.summary }}
    告警詳情: {{ .Annotations.description }}
    觸發時間: {{ .StartsAt.Format "2019-12-14 16:01:01" }}
    ========end==========
</pre>
    {{ end }}
{{ end }}

 

  (3)alertmanager配置文件,添加自定義告警模板,配置發送人

    (4)重啟alertmanager,效果圖如下:

 


免責聲明!

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



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