原创-prometheus报警规则


需要将prometheus的报警规则存放在/etc/rules里面的yml文件中   同时prometheus的yaml文件需要开启alertmanager,通过alertmanager触发告警到各个平台,例如钉钉。

 

 ---

rules.yml文件

groups:

   - name: api-server /报警名

     rules:

     - alert: api-server_cnt /报警规则名称

       for: 3m /持续时间

       expr: count(up{job="kubernetes-apiservers"}) > 2 /报警语法

       annotations: /报警的内容

         summary: "api-server大于2"

         values: "{{ $value }}"

       labels: /打标签

         severity: error

         classification: lyz

         workline: xdrive

     - alert: InstanceGone
       for: 10s
       expr: absent(up{job="node"})
       annotations:
           summary: "host {{ $labels.instance }} is no longer reporting"
       labels:
       severity: critical
       classification: lyz2
       workline: xdrive

---

接着需要在alertmanager的配置文件中更新路由和接收者:

 

这里定义默认接收者为lyz,同时routes使用分支路由,匹配标签为serverity为critical的告警规则,发送给lyz2

---

最后需要在dingtalk组件中定义你的接收者发送地址,这个百度即可解决。

---

重启prometheus

---

如果成功,则可以在页面中看到

 

---

一旦触发警告,则可以在alertmanager控制台中看到

注意,这里silence可以配置静默时间,可永久或暂停告警。

 

---

接着可以在钉钉等看到告警通知

 

---

告警成功。

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM