夜莺告警通知中如何添加更丰富的机器信息

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 使用率:

钉钉告警通知截图

参考链接

快猫星云 联系方式 快猫星云 联系方式
快猫星云 联系方式
快猫星云 联系方式
快猫星云 联系方式
快猫星云
OpenSource
开源版
Flashcat
Flashcat