先给大家展示一下完成后的效果图

使用钉钉自定义应用的方式实现zabbix报警_第1张图片


下面我们就按照下面的步骤来实现我们想要的效果

首先去钉钉后台管理添加自定义应用,关于如何创建自定义应用可以咨询钉钉客服或者查看钉钉相关文档,创建好应用后我们需要获取三个信息:

AgentID:创建好应用后再点击应用进去就可以查看

CorpId:管理员才可以查看

CorpSecret:需要最高管员才可以查看


然后附件中下载我们对应的程序到我们的zabbbix server的AlertScriptsPath目录,可以通过以下命令查看目录所在位置

grep "AlertScriptsPath" zabbix_server.conf

更改文件的权限为运行zabbix的用户,并给执行权限

chmod  755 golang-zabbix-alter-to-dingding-64
chown  zabbix:zabbix  golang-zabbix-alter-to-dingding-64

测试程序是否能正常运行

./golang-zabbix-alter-to-dingding-64 -agentid=126269679 -corpid=ding8afbg7b642f00983 -corpsecret=_tlUVZLC0Pxi_Jj1_GiPK_2Yx8kheM89IcYtq8Ot4rkjgrkeFXKPunGK7ox3j6OK -to=18095245568296 -style=xml -msg="  千思网  较高 这是一个来自[ 千思网](https://www.qiansw.com)用于 zabbix 报警的 robot 程序示例。 system.cpu.util[,iowait] 27.29 % 31.98 % 163956 127.0.0.1 FFFFFF00 https://www.qiansw.com/golang-zabbix-dingding-robot.html 25m PROBLEM  Yes  这里是故障确认消息! "

最后配置zabbix

  1. 创建报警媒介

    使用钉钉自定义应用的方式实现zabbix报警_第2张图片

    注意:脚本名称为可执行程序的名称

    -agentid:输入应用的ID,在钉钉后台查看到的

    -corpid:同上

    -corpsecret:同上

    -msg:消息这里固定值为:{ALERT.MESSAGE}

    -url:这里定义报警的超链接,一般定义为我们zabbix服务器访问url

    -to:这里指定要发送给谁,多个用管道符分开,用户ID通过钉钉后台查看

    -style:指定消息格式为xml,默认为json,推荐使用xml,所以json不在演示

  2. 给用户添加报警媒介

    使用钉钉自定义应用的方式实现zabbix报警_第3张图片

    注意:收件人名称随意

  3. 在报警动作中使用媒介,这里只展示报警信息和恢复信息

    以下为报警信息

    使用钉钉自定义应用的方式实现zabbix报警_第4张图片

    注意:默认接收随便写

    以下恢复信息

    使用钉钉自定义应用的方式实现zabbix报警_第5张图片

    注意:默认接收接收人随便写


以下为报警信息


  {HOSTNAME1}
  
  {TRIGGER.SEVERITY}
  {TRIGGER.NAME}
  {TRIGGER.KEY1}
  {ITEM.VALUE}
  {ITEM.LASTVALUE}
  {EVENT.ID}
  {HOST.IP}
  FFE61A1A
  http://zabbix.gogen.cn
  {EVENT.AGE}
  {EVENT.STATUS}
 {EVENT.ACK.STATUS} 
 {EVENT.ACK.HISTORY}

以下为恢复信息


  {HOSTNAME1}
  
  {TRIGGER.SEVERITY}
  {TRIGGER.NAME}
  {TRIGGER.KEY1}
  {ITEM.VALUE}
  {ITEM.LASTVALUE}
  {EVENT.ID}
  {HOST.IP}
  FF4A934A
  http://zabbix.gogen.cn
  {EVENT.AGE}
  {EVENT.RECOVERY.DATE} {EVENT.RECOVERY.TIME}
  OK

    恢复信息说明:OK默认为OK,这是3.4的zabbix server才这样做,如果你的zabbix server是3.4之前的版本请改为:{EVENT.RECOVERY.STATUS}


最后如果配置成功,那么相应的人员就会收到报警信息