前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Zabbix 随笔:事件通知浅析(触发器篇)

Zabbix 随笔:事件通知浅析(触发器篇)

原创
作者头像
IT小白Kasar
发布2022-04-08 20:30:59
1.7K1
发布2022-04-08 20:30:59
举报
文章被收录于专栏:个人技术随笔个人技术随笔

每天都会发生不同的事件,在软件的世界也不例外,Zabbix 里所发生的一切也称为事件。Zabbix 的事件类型有如下几种

  • 触发器事件
  • 服务事件
  • 发现事件
  • 自动注册事件
  • 内部事件

如何知道这些事件的内容?也是本文要提的事件通知,不过本文的内容只涉及触发器事件,也是我们常说的告警。

正文

Zabbix 的事件是带有时间戳的,因此具备事件通知的基础条件,如果需要查看前端事件的详细信息,可以在 Monitoring ->Prombles 里查看,也可以单击时间查看时间的详细信息。

可以查看问题清单
可以查看问题清单
点击时间戳查看问题详情
点击时间戳查看问题详情

本文环境

  • RockyLinux 8.5
  • Zabbix 6.0.2 LTS

逻辑分析

事件通知用人话来讲,就是通知内容是什么?通知到谁?通过什么渠道通知到人?如果把这几个问题搞定了其实问题就不大了,全文将通过这三个问句探讨。

模拟主机告警

创建一个模拟主机,挂载 ICMP Ping 模板,该主机是一个不存在的主机

创建一个不存在的机器
创建一个不存在的机器
触发告警
触发告警

查看告警

回到首页,在默认仪表盘里是有问题模块的,可以看到相关告警,可以通过告警查看当前问题为 ICMP ping 不可达,这是通过内部的组件告诉你一台主机出现异常了,作为 NOC 团队看这个仪表盘的确就可以了,但前提是24小时得有人盯着这个仪表盘,那么如果相关业务的人员也想看他们的主机情况,就得需要创建相关账号,同时对账号进行资源授权,而细分领域后,告警量级明显会降低很多,此时业务人员也不可能时时刻刻盯着这个仪表盘,所以可以通过一些渠道告知业务人员,例如邮件、一些即时通信软件,本文采用飞书的方式演示。

通过什么渠道告知?

第一个要解决的问题是通过什么渠道来发送通知这件事情,本文确定以飞书的形式通知业务方相关告知内容。由于官方没有相对应的媒介,所以需要自行创建,本文不做媒介创建演示,具体可以参考我之前的文章。

创建的飞书媒介
创建的飞书媒介

发送通知的本质就是动作

既然确定了用什么渠道来发送通知,那么怎么发送通知呢?发送通知本身就是一个动作,在 Zabbix 里也是动作(Actions)

触发器动作(Trigger actions)

点击创建一个动作,动作模块里有两个 tab,分别是动作和操作 动作部分有四块,红星的地方必须填写

进入触发器动作
进入触发器动作
动作板块
动作板块
多个条件才会触发计算类型
多个条件才会触发计算类型
  1. name 字段自定义即可
  2. Type of calculation,关于这个只有在两个条件及以上的的时候才会触发,里面包含四个选项
  • And/Or:和与或同时存在,And 和 Or 的放置方法为同类型条件为 Or,非同类型为 And
  • And:所有条件必须满足
  • Or:满足任意条件即可
  • Custom expression:自定条件组合
A和D为触发器条件,所以为Or,其他为触发器级别和名称,所以为and
A和D为触发器条件,所以为Or,其他为触发器级别和名称,所以为and
  1. Conditions,点击Add后,会弹出条件对话框,会有三个选项
  • Type:包含很多种类型,就不一一赘述了
  • Operator:包含与不包含
  • 根据Type可变
条件界面
条件界面
条件类型
条件类型

操作部分有6块,红星的地方必须填写

操作部分
操作部分
  1. Default operation step duration,默认操作步骤的时间,动作内全局变量
  2. Operations,告警动作
  • Steps:第一个数字代表步骤,后面的数字代表此步骤重复次数,如果是1-10,就证明此步骤每间隔一小时执行此动作
  • Step duration:步骤持续时间,0代表永不过期
  • Send to user groups:发送到用户组
  • Send to users:发送到用户
  • Send only to :推送渠道
  • Custom message:自定义消息模板
  • Conditions:条件(不常用,只有一个条件,就是事件被标记)
  1. Recovery operations,恢复动作
  • Operation,动作内容
  • Send to user groups,发送到组
  • Send to users,发送到用户
  • Send only to,发送渠道
  • Custom message,自定义消息模板
  1. Update operations,更新动作,内容与恢复动作一致
  2. Pause operations for suppressed problems,暂停维护期间(被监控设备)的告警通知
  3. Notify about canceled escalations 取消通知

根据环境创建动作

本文的环境是创建一台主机,主机组为 Linux Servers,告警推送给 Admin 用户,根据上文浅析,判断条件只需要一个就够了,主机组为该组即可;动作详情仅修改 Send to users,Send only to 即可。

创建条件
创建条件
创建动作
创建动作

建立完成后,首页会出现动作的箭头,此时证明写的动作生效了,但是此时出现红色的箭头,点开查看原因为 No media defined for user,字面意思是用户没有定义媒介,言外之意是该用户没有该媒介的配置。所以需要进入到用户界面配置,需要配置的部分包括该用户可以通过飞书接受信息,测试用户就随便填写了,和应用无关(邮件与SMS除外),其他的字段分别是什么时间可以接受告警,接受的告警有哪些级别,启用状态

添加用户媒介配置
添加用户媒介配置

调整完用户后,此时会发现依然会出现动作失败的提示,只不过内容变为 No message defined for media type,这个报错为消息模板未定义,即是通知内容模板未写,有两个地方可以填写内容模板,第一个是媒介里的消息模板,第二个为动作里的自定义消息模板,消息模板是支持变量的,具体可以参阅官方文档的宏,也可以参阅笔者的内容美化文章,这里不展开赘述了,至于区别就是媒介里的只需要创建一次,动作里的需要每一条都需要单独写,就这区别,两者任选其一,本文使用媒介里的消息模板

提示未定义消息模板
提示未定义消息模板
媒介里的消息模板
媒介里的消息模板
动作里的消息模板
动作里的消息模板
媒介里自定消息模板效果图
媒介里自定消息模板效果图

当出现下图时候,代表发送已经成功,飞书 APP 也接收到相关信息,恢复和更新动作同理配置,限于篇幅原因不再展开

写在最后

整个事件通知其实以通知到相关人员为逻辑展开,理解起来就没那么复杂,当然有很多细节得需要自己体会,包括后期的事件升级功能、高阶事件通知运用等等,技术本是以人为本,所以大家不理解的时候多想想背后的逻辑,自然简单的多。最后文章有不清晰的地方随时联系沟通,谢谢。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 正文
    • 逻辑分析
      • 模拟主机告警
        • 通过什么渠道告知?
          • 触发器动作(Trigger actions)
            • 根据环境创建动作
            • 写在最后
            相关产品与服务
            即时通信 IM
            即时通信 IM(Instant Messaging)基于腾讯二十余年的 IM 技术积累,支持Android、iOS、Mac、Windows、Web、H5、小程序平台且跨终端互通,低代码 UI 组件助您30分钟集成单聊、群聊、关系链、消息漫游、群组管理、资料管理、直播弹幕和内容审核等能力。适用于直播互动、电商带货、客服咨询、社交沟通、在线课程、企业办公、互动游戏、医疗健康等场景。
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档