prometheus中告警UTC8小时配置

韵味老鸟 2024-07-04 17:49:54

prometheus 中告警UTC8小时配置

故障时间: {{ ($alert.StartsAt.Add 28800e9).Format "2006-01-02 15:04:05" }} # 注意这行,时间默认UTC 所以后边加入28800e9 也就是多了8个小时

方法1

故障时间: {{ $alert.StartsAt.Local.Format "2006-01-02 15:04:05" }}恢复时间: {{ $alert.EndsAt.Local.Format "2006-01-02 15:04:05" }}

方法2

故障时间: {{ ($alert.StartsAt.Add 28800e9).Format "2006-01-02 15:04:05" }} # 注意这行恢复时间: {{ ($alert.EndsAt.Add 28800e9).Format "2006-01-02 15:04:05" }} # 注意这行

原模版时间:

{{ $var := .externalURL}}{{ range $k,$v:=.alerts }}{{if eq $v.status "resolved"}}状态:[Resolved]({{$var}})告警名:[{{$v.labels.alertname}}]({{$v.generatorURL}})集群:{{$v.labels.cluster}}告警级别:{{$v.labels.severity}}开始时间:{{TimeFormat $v.StartsAt "2006-01-02 15:04:05"}}结束时间:{{TimeFormat $v.EndsAt "2006-01-02 15:04:05"}}故障主机IP:{{$v.labels.instance}}**{{$v.annotations.description}}**{{else}}状态:[Firing]({{$var}})告警名:[{{$v.labels.alertname}}]({{$v.generatorURL}})集群:{{$v.labels.cluster}}告警级别:{{$v.labels.severity}}开始时间:{{TimeFormat $v.StartsAt "2006-01-02 15:04:05"}}故障主机IP:{{$v.labels.instance}}**{{$v.annotations.description}}**{{end}}{{ end }}

######告警模版优化#####

这里的模板是做了一个颜色的区分,告警的用红色,恢复的用绿色,由于 Prometheus 和 AlertManager 用的都是 UTC 时间,所以这里用 GetCSTtime 转化成北京时间。

{{ $var := .externalURL}}{{ range $k,$v:=.alerts }}{{if eq $v.status "resolved"}}#### [Prometheus恢复信息]({{$v.generatorURL}})> <font color="info">告警名称</font>:[{{$v.labels.alertname}}]({{$var}})> <font color="info">告警级别</font>:{{$v.labels.severity}}> <font color="info">开始时间</font>:{{GetCSTtime $v.startsAt}}> <font color="info">结束时间</font>:{{GetCSTtime $v.endsAt}}> <font color="info">实例地址</font>:{{$v.labels.instance}}> <font color="info">主机名称</font>:{{$v.labels.hostname}}**{{$v.annotations.description}}**{{else}}#### [Prometheus告警信息]({{$v.generatorURL}})> <font color="#FF0000">告警名称</font>:[{{$v.labels.alertname}}]({{$var}})> <font color="#FF0000">告警级别</font>:{{$v.labels.severity}}> <font color="#FF0000">开始时间</font>:{{GetCSTtime $v.startsAt}}> <font color="#FF0000">结束时间</font>:{{GetCSTtime $v.endsAt}}> <font color="#FF0000">实例地址</font>:{{$v.labels.instance}}> <font color="#FF0000">主机名称</font>:{{$v.labels.hostname}}**{{$v.annotations.description}}**{{end}}{{ end }}

#新模版

{{ $var := .externalURL}}{{ range $k,$v:=.alerts }}{{ if eq $v.status "resolved" }}#### [Prometheus恢复信息]({{ $v.generatorURL }})<font color="info">状态:</font>[Resolved]({{ $var }})<font color="info">告警名:</font>[{{ $v.labels.alertname }}]({{ $v.generatorURL }})<font color="info">集群:</font>{{ $v.labels.cluster }}<font color="info">告警级别:</font>{{ $v.labels.severity }}<font color="info">开始时间:</font>{{ TimeFormat $v.StartsAt "2006-01-02 15:04:05"}}<font color="info">结束时间:</font>{{ TimeFormat $v.EndsAt "2006-01-02 15:04:05"}}<font color="info">故障主机IP:</font>{{ $v.labels.instance }}**{{ $v.annotations.description }}**{{ else }}#### [Prometheus告警信息]({{ $v.generatorURL }})<font color="#FF0000">状态:</font>[Firing]({{ $var }})<font color="#FF0000">告警名:</font>[{{ $v.labels.alertname }}]({{ $v.generatorURL }})<font color="#FF0000">集群:</font>{{ $v.labels.cluster }}<font color="#FF0000">告警级别:</font>{{ $v.labels.severity }}<font color="#FF0000">开始时间:</font>{{ TimeFormat $v.StartsAt "2006-01-02 15:04:05"}}<font color="#FF0000">故障主机IP:</font>{{ $v.labels.instance }}**{{ $v.annotations.description }}**{{ end }}{{ end }}

0 阅读:0