59. PrometheusAlert告警模板

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了59. PrometheusAlert告警模板相关的知识,希望对你有一定的参考价值。

参考技术A 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

自定义告警模板

默认情况下Alertmanager使用了系统自带的默认通知模板,模板源码可以从https://github.com/prometheus/alertmanager/blob/master/template/default.tmpl获得。
Alertmanager的通知模板基于Go的模板系统。Alertmanager也支持用户定义和使用自己的模板,一般来说有两种方式可以选择。

第一种,基于模板字符串。用户可以直接在Alertmanager的配置文件中使用模板字符串,例如:

receivers:
- name: ‘slack-notifications‘
  slack_configs:
  - channel: ‘#alerts‘
    text: ‘https://internal.myorg.net/wiki/alerts/{{ .GroupLabels.app }}/{{ .GroupLabels.alertname }}‘

第二种方式,自定义可复用的模板文件。例如,可以创建自定义模板文件custom-template.tmpl,如下所示:

{{ define "slack.myorg.text" }}https://internal.myorg.net/wiki/alerts/{{ .GroupLabels.app }}/{{ .GroupLabels.alertname }}{{ end}}

通过在Alertmanager的全局设置中定义templates配置来指定自定义模板的访问路径:

# Files from which custom notification template definitions are read.
# The last component may use a wildcard matcher, e.g. ‘templates/*.tmpl‘.
templates:
  [ - <filepath> ... ]

在设置了自定义模板的访问路径后,用户则可以直接在配置中使用该模板:

receivers:
- name: ‘slack-notifications‘
  slack_configs:
  - channel: ‘#alerts‘
    text: ‘{{ template "slack.myorg.text" . }}‘
templates:
- ‘/etc/alertmanager/templates/myorg.tmpl‘

以上是关于59. PrometheusAlert告警模板的主要内容,如果未能解决你的问题,请参考以下文章

prometheus实战---告警模板编写

自定义告警模板

模板学堂丨Zabbix监控告警大屏

zabbix 告警信息模板

zabbix告警模板表格化

prometheus告警模板