之前用proms推送了邮件,钉钉,目前公司用飞书,所以也要推送到飞书机器人上。
这种方式免费版只能每天200次请求,
- ## 推送助手官网
- https://push.spug.cc/
-
- ## 参考文档
- https://blog.51cto.com/fighter/5656648
- ## 官网
- https://feiyu563.github.io/
-
- # Github
- https://github.com/feiyu563/PrometheusAlert
飞书模板如下:
- {{ $var := .externalURL}}{{ range $k,$v:=.alerts }} {{if eq $v.status "resolved"}} **[Prometheus 恢复通知](http://10.10.10.120:9090)**
- 告警名称:{{$v.labels.alertname}}
- 告警状态:{{$v.status}}
- 开始时间:{{GetCSTtime $v.startsAt}}
- 结束时间:{{GetCSTtime $v.endsAt}}
- 实例地址:{{$v.labels.instance}}
- 恢复实例:{{$v.labels.instance}}
- 描述: **{{$v.annotations.description}}**
- {{else}} **[Prometheus 报警通知](http://10.10.10.120:9090)**
- 告警名称:{{$v.labels.alertname}}
- 告警状态:{{$v.status}}
- 开始时间:{{GetCSTtime $v.startsAt}}
- 实例地址:{{$v.labels.instance}}
- 告警实例:{{$v.labels.instance}}
- 描述: **{{$v.annotations.description}}**
- {{end}} {{ end }}
上面的告警模板会根据告警和恢复信息,修改主题的颜色:
- ### 参考官网
- https://github.com/feiyu563/PrometheusAlert/issues/30
格式再优化:
- {{ $var := .externalURL}}{{ range $k,$v:=.alerts }} {{if eq $v.status "resolved"}} **[Prometheus 恢复通知](http://10.10.10.120:9090)**
- 【告警名称】{{$v.labels.alertname}}
- 【告警状态】{{$v.status}}
- 【开始时间】{{GetCSTtime $v.startsAt}}
- 【结束时间】{{GetCSTtime $v.endsAt}}
- 【恢复实例】{{$v.labels.instance}}
- 【描述】**{{$v.annotations.description}}**
- {{else}} **[Prometheus 报警通知](http://10.10.10.120:9090)**
- 【告警名称】{{$v.labels.alertname}}
- 【告警状态】{{$v.status}}
- 【开始时间】{{GetCSTtime $v.startsAt}}
- 【恢复实例】{{$v.labels.instance}}
- 【描述】 **{{$v.annotations.description}}**
- {{end}} {{ end }}
有符号的模板示例,但是标题不会改变。
- {{ $var := .externalURL}}{{ range $k,$v:=.alerts }}
- {{if eq $v.status "resolved"}}
- **[Prometheus恢复信息]({{$v.generatorURL}})**
-
- 【恢复名称】[{{$v.labels.alertname}}]({{$var}})✅{{if $v.labels.level}}
- 【恢复级别】{{if eq $v.labels.level "0"}}提示{{else if eq $v.labels.level "1"}}警告{{else if eq $v.labels.level "2"}}一般严重{{else if eq $v.labels.level "3"}}严重{{else if eq $v.labels.level "4"}}灾难{{else}}{{$v.labels.level}}{{end}}{{end}}
- 【开始时间】{{GetCSTtime $v.startsAt}}
- 【结束时间】{{GetCSTtime $v.endsAt}}
- 【恢复实例】{{$v.labels.instance}}
-
- **{{$v.annotations.description}}**
- {{else}}
- **[Prometheus告警信息]({{$v.generatorURL}})**
-
- 【告警名称】[{{$v.labels.alertname}}]({{$var}})🔥{{if $v.labels.level}}
- 【告警级别】{{if eq $v.labels.level "0"}}提示{{else if eq $v.labels.level "1"}}警告🟡{{else if eq $v.labels.level "2"}}一般严重🔥{{else if eq $v.labels.level "3"}}严重🔥🔥{{else if eq $v.labels.level "4"}}灾难🔥🔥❌{{else}}{{$v.labels.level}}{{end}}{{end}}
- 【开始时间】{{GetCSTtime $v.startsAt}}
- 【告警实例】{{$v.labels.instance}}
-
- **{{$v.annotations.description}}**
- {{end}}
- {{ end }}
目前自己使用的模板,仿zabbix的模板
- {{ $var := .externalURL}}{{ range $k,$v:=.alerts }} {{if eq $v.status "resolved"}} **[Prometheus 恢复通知](http://10.10.10.120:9090)**
- 【恢复名称】{{$v.labels.alertname}}
- 【当前状态】{{$v.status}} ✅
- 【触发时间】{{GetCSTtime $v.startsAt}}
- 【恢复时间】{{GetCSTtime $v.endsAt}}
- 【恢复实例】{{$v.labels.instance}}
- 【恢复描述】{{$v.annotations.description}}
- {{else}} **[Prometheus 告警通知](http://10.10.10.120:9090)**
- 【告警名称】{{$v.labels.alertname}}
- 【当前状态】{{$v.status}} 🔥
- 【触发时间】{{GetCSTtime $v.startsAt}}
- 【告警实例】{{$v.labels.instance}}
- 【告警描述】 {{$v.annotations.description}}
- {{end}} {{ end }}
如果想要增加 监控取值字段,可尝试:
- ##
- 监控取值: {{$v.annotations.value}}
-
- ##
- 告警阈值: {{$v.labels.threshold}}
-
- ##
- 当前值为:{{$v.annotations.current_value}}
(1)打开历史记录开关:
- # 历史记录保存,推荐开启
- BARK_ARCHIVE=1
-
-