PrometheusAlert告警模板https://github.com/feiyu563/PrometheusAlert

 

https://github.com/feiyu563/PrometheusAlert   好用的告警webhook地址

 

飞书告警模板 · Issue #376 · feiyu563/PrometheusAlert (github.com)

 

最终---

 

{{ $var := .externalURL}}{{ range $k,$v:=.alerts }}{{if eq $v.status "resolved"}} ✅**[Prometheus恢复信息]({{$v.generatorURL}})**
告警名称:*[{{$v.labels.alertname}}]({{$var}})*
相关服务:{{$v.labels.app}}
告警级别:{{if eq $v.labels.severity "0"}}提示{{else if eq $v.labels.severity "warning"}}警告🟡{{else if eq $v.labels.severity "2"}}一般严重🔥{{else if eq $v.labels.severity "critical"}}严重🔥🔥{{else if eq $v.labels.severity "4"}}灾难🔥🔥❌{{else}}{{$v.labels.severity}}{{ end }}
开始时间:{{GetCSTtime $v.startsAt}}
恢复时间:{{GetCSTtime $v.endsAt}}
故障主机:{{$v.labels.instance}}
告警描述:{{$v.annotations.description}}{{else}}🆘**[Prometheus告警信息]({{$v.generatorURL}})**
告警名称:*[{{$v.labels.alertname}}]({{$var}})*
相关服务:{{$v.labels.app}}
告警级别:{{if eq $v.labels.severity "0"}}提示{{else if eq $v.labels.severity "warning"}}警告🟡{{else if eq $v.labels.severity "2"}}一般严重🔥{{else if eq $v.labels.severity "critical"}}严重🔥🔥{{else if eq $v.labels.severity "4"}}灾难🔥🔥❌{{else}}{{$v.labels.severity}}{{ end }}
开始时间:{{GetCSTtime $v.startsAt}}
故障主机:{{$v.labels.instance}}
告警描述:{{$v.annotations.description}}{{end}}{{ end }}
{{ $urimsg:=""}}{{ range $key,$value:=.commonLabels }}{{$urimsg = print $urimsg $key "%3D%22" $value "%22%2C" }}{{end}}[*** 点我屏蔽该告警]({{$var}}/#/silences/new?filter=%7B{{SplitString $urimsg 0 -3}}%7D)

 -----

{{ $var := .externalURL}}{{ range $k,$v:=.alerts }}{{if eq $v.status "resolved"}} ✅**[Prometheus恢复信息]({{$v.generatorURL}})**
*[{{$v.labels.alertname}}]({{$var}})*
告警服务名:{{$v.labels.app}}
告警级别:{{if eq $v.labels.severity "0"}}提示{{else if eq $v.labels.severity "warning"}}警告🟡{{else if eq $v.labels.severity "2"}}一般严重🔥{{else if eq $v.labels.severity "critical"}}严重🔥🔥{{else if eq $v.labels.severity "4"}}灾难🔥🔥❌{{else}}{{$v.labels.severity}}{{end}}{{end}}
开始时间:{{GetCSTtime $v.startsAt}}
恢复时间:{{GetCSTtime $v.endsAt}}
故障主机IP:{{$v.labels.instance}}
**{{$v.annotations.description}}**{{else}}🆘**[Prometheus告警信息]({{$v.generatorURL}})**
*[{{$v.labels.alertname}}]({{$var}})*
告警服务名:{{$v.labels.app}}
告警级别:{{if eq $v.labels.severity "0"}}提示{{else if eq $v.labels.severity "warning"}}警告🟡{{else if eq $v.labels.severity "2"}}一般严重🔥{{else if eq $v.labels.severity "critical"}}严重🔥🔥{{else if eq $v.labels.severity "4"}}灾难🔥🔥❌{{else}}{{$v.labels.severity}}{{end}}{{end}}
开始时间:{{GetCSTtime $v.startsAt}}
故障主机IP:{{$v.labels.instance}}
**{{$v.annotations.description}}**{{end}}{{ end }}
{{ $urimsg:=""}}{{ range $key,$value:=.commonLabels }}{{$urimsg = print $urimsg $key "%3D%22" $value "%22%2C" }}{{end}}[*** 点我屏蔽该告警]({{$var}}/#/silences/new?filter=%7B{{SplitString $urimsg 0 -3}}%7D)

 ----------------------------

{{ $var := .externalURL}}{{ range $k,$v:=.alerts }}{{if eq $v.status "resolved"}} ✅**[Prometheus恢复信息]({{$v.generatorURL}})**
*[{{$v.labels.alertname}}]({{$var}})*
告警服务名:{{$v.labels.app}}
告警级别:{{$v.labels.severity}}
开始时间:{{GetCSTtime $v.startsAt}}
恢复时间:{{GetCSTtime $v.endsAt}}
故障主机IP:{{$v.labels.instance}}
**{{$v.annotations.description}}**{{else}}🆘**[Prometheus告警信息]({{$v.generatorURL}})**
*[{{$v.labels.alertname}}]({{$var}})*
告警服务名:{{$v.labels.app}}
告警级别:{{$v.labels.severity}}
开始时间:{{GetCSTtime $v.startsAt}}
故障主机IP:{{$v.labels.instance}}
**{{$v.annotations.description}}**{{end}}{{ end }}
{{ $urimsg:=""}}{{ range $key,$value:=.commonLabels }}{{$urimsg = print $urimsg $key "%3D%22" $value "%22%2C" }}{{end}}[*** 点我屏蔽该告警]({{$var}}/#/silences/new?filter=%7B{{SplitString $urimsg 0 -3}}%7D)

 

 

{{ range $k,$v:=.alerts }}

{{if eq $v.status "resolved"}}

## <font color="info">[Prometheus恢复信息]</font>

#### 告警名称:{{$v.labels.alertname}}

###### 告警总结: {{$v.annotations.summary}}

###### 告警级别: {{$v.labels.level}}

###### 告警环境:{{ $v.labels.env }}

###### 告警业务版本:{{ $v.labels.bizVersion }}

###### 告警业务线:{{ $v.labels.bizLine }}

###### 告警资源:{{ $v.labels.cloud }}

###### 告警实例:{{ $v.labels.hostname }}

###### 告警IP地址:{{ $v.labels.ip }}

###### 涉及应用:{{ $v.labels.application }}

###### 告警详情:{{ $v.annotations.description }}

###### 开始告警时间: {{GetCSTtime $v.startsAt}}

###### 恢复时间: {{GetCSTtime $v.endsAt}}

{{else}}

## <font color="warning">[Prometheus告警信息]</font>

#### 告警名称:{{$v.labels.alertname}}

###### 告警总结: {{$v.annotations.summary}}

###### 告警级别: {{$v.labels.level}}

###### 告警环境:{{ $v.labels.env }}

###### 告警业务版本:{{ $v.labels.bizVersion }}

###### 告警业务线:{{ $v.labels.bizLine }}

###### 告警资源:{{ $v.labels.cloud }}

###### 告警实例:{{ $v.labels.hostname }}

###### 告警IP地址:{{ $v.labels.ip }}

###### 涉及应用:{{ $v.labels.application }}

###### 告警详情:{{ $v.annotations.description }}

###### 当前值:{{ $v.annotations.value }}

###### 开始告警时间: {{GetCSTtime $v.startsAt}}

{{end}}

{{ end }}

校验

{
"receiver": "email_and_weixin",
"status": "firing",
"alerts": [{
"status": "firing",
"labels": {
"alertname": "K8S Pod节点监控告警",
"condition": "true",
"env": "test",
"instance": "10.42.172.136:8080",
"job": "kubernetes-service-endpoints",
"kubernetes_name": "kube-state-metrics",
"kubernetes_namespace": "kube-system",
"label": "3",
"namespace": "default",
"pod": "xinao-planet-product-6b5746c67-n2kcl",
"severity": "critical",
"uid": "f284b05a-bd06-450a-a3e4-5fa7b514cbb7"
},
"annotations": {
"description": "Pod has been in a non-ready state for longer than 2 seconds.",
"summary": "Kubernetes Pod not healthy (instance 10.42.172.136:8080)"
},
"startsAt": "2023-03-27T02:47:59.695Z",
"endsAt": "0001-01-01T00:00:00Z",
"generatorURL": "http://prometheus-c56654849-6447l:9090/graph?g0.expr=kube_pod_status_ready%7Bcondition%3D%22true%22%2Cpod%3D~%22.%2Aplanet.%2A%22%7D+%3D%3D+0&g0.tab=1",
"fingerprint": "5c721c56bb727fd4"
}],
"groupLabels": {},
"commonLabels": {
"alertname": "K8S Pod节点监控告警",
"condition": "true",
"env": "test",
"instance": "10.42.172.136:8080",
"job": "kubernetes-service-endpoints",
"kubernetes_name": "kube-state-metrics",
"kubernetes_namespace": "kube-system",
"label": "3",
"namespace": "default",
"pod": "xinao-planet-product-6b5746c67-n2kcl",
"severity": "critical",
"uid": "f284b05a-bd06-450a-a3e4-5fa7b514cbb7"
},
"commonAnnotations": {
"description": "Pod has been in a non-ready state for longer than 2 seconds.",
"summary": "Kubernetes Pod not healthy (instance 10.42.172.136:8080)"
},
"externalURL": "http://za-monitor-test-0001:9093",
"version": "4",
"groupKey": "{}/{severity=\"critical\"}:{}",
"truncatedAlerts": 0
}

 

----模版

{{ $var := .externalURL}}{{ range $k,$v:=.alerts }}{{if eq $v.status "resolved"}} ✅**[Prometheus恢复信息]({{$v.generatorURL}})**
*[{{$v.labels.alertname}}]({{$var}})*
告警服务名:{{$v.labels.app}}
告警级别:{{$v.labels.severity}}
开始时间:{{GetCSTtime $v.startsAt}}
恢复时间:{{GetCSTtime $v.endsAt}}
故障主机IP:{{$v.labels.instance}}
**{{$v.annotations.description}}**{{else}}🆘**[Prometheus告警信息]({{$v.generatorURL}})**
*[{{$v.labels.alertname}}]({{$var}})*
告警服务名:{{$v.labels.app}}
告警级别:{{$v.labels.severity}}
开始时间:{{GetCSTtime $v.startsAt}}
故障主机IP:{{$v.labels.instance}}
**{{$v.annotations.description}}**{{end}}{{ end }}
{{ $urimsg:=""}}{{ range $key,$value:=.commonLabels }}{{$urimsg = print $urimsg $key "%3D%22" $value "%22%2C" }}{{end}}[*** 点我屏蔽该告警]({{$var}}/#/silences/new?filter=%7B{{SplitString $urimsg 0 -3}}%7D)


--------模版2

 

{{ $var := .externalURL}}{{ range $k,$v:=.alerts }}
{{if eq $v.status "resolved"}}
Prometheus恢复信息

【恢复名称】{{$v.labels.alertname}}✅{{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.description1}}
{{else}}
Prometheus告警信息

【告警名称】{{$v.labels.alertname}}🔥{{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}}

{{ $urimsg:=""}}{{ range $key,$value:=$v.labels}}{{$urimsg = print $urimsg $key "="" $value ""," }}{{end}}
{{$data:=urlquery $urimsg }}[[ 点我屏蔽该告警 ]](http://0.0.0.0:9093/#/silences/new?filter=%7B{{SplitString $data 0 -3}}%7D)
{{$data:=urlquery }}[ 点我清理磁盘 ]
{{end}}
{{ end }}


作者:haodevops
链接:https://www.jianshu.com/p/ca7b2a22033c
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
posted @ 2024-05-22 11:11  技术颜良  阅读(74)  评论(0编辑  收藏  举报