夜莺告警通知中如何添加更丰富的机器信息
Nightingale
2024-09-20 15:08:08
前言
夜莺的 v7.3.2 版本,在告警事件的结构体中,添加了 Target 字段,通过这个新的字段,我们可以在告警通知内容中,展示更详细的机器信息,可以帮助运维人员更快速地定位和解决问题。
Target 字段包含了告警机器更详细的元信息,元信息包括下面这些字段:
在告警中添加机器信息
本文主要介绍下,如何在机器相关的告警通知中,展示更丰富的机器信息。
以钉钉通知举例,如果我们想将告警机器的 CPU使用率
和 内存使用率
在告警通知中展示出来,可以按照如下方式配置通知模板。
首先,了解下 Target 字段有哪些内容可以使用,主要有下面这些字段,其中 CpuUtil 是 cpu 使用率,MemUtil 是机器的内存使用率,待会我们编写通知模板的时候,会用到这两个字段。
type Target struct {
Id int64
GroupId int64 // 机器所属业务组的 id
Ident string // 机器的标识
Note string // 机器的备注
Tags string // 机器在页面上打的标签,字符串格式
TagsJSON []string // 机器在页面上打的标签,数组格式
HostTags []string // categraf上报的标签,数组格式
TagsMap map[string]string // 机器的所有标签 map 格式
UpdateAt int64 // 机器最新的心跳时间
HostIp string // 机器的 ip
AgentVersion string // 机器上采集器的版本
OS string // 机器的操作系统
UnixTime int64 // 机器的系统时间
Offset int64 // 机器和夜莺服务端偏离的时间
TargetUp float64 // 机器是否部署了采集器
MemUtil float64 // 机器的内存使用率
CpuNum int // 机器的 cpu 核数
CpuUtil float64 // 机器的 cpu 使用率
Arch string // 机器的 cpu 架构
}
其次,修改通知模板,完整的通知模版可以参考这里,我们可以在通知模板中增加下面的字段:
{{if .Target}}
- **机器详情**:
- 机器名:{{.Target.Ident}}
- 内存使用率:{{printf "%.2f" .Target.MemUtil}}
- CPU使用率:{{printf "%.2f" .Target.CpuUtil}}
{{end}}
备注:如果想使用其他字段,在模板中添加
{{.Target.字段名称}}
即可,比如想要展示机器的 IP 地址,可以添加机器 IP:{{.Target.HostIp}}
。
最后收到的通知内容如下图所示,可以在通知内容中看到机器的内存和 CPU 使用率: