现在很多企业都在使用钉钉,如果用钉钉接收zabbix告警会不会很方便呢,而且钉钉现在有一个群机器人,使调用api异常简单

添加钉钉群机器人

  • 选择自定义机器人
  • 输入机器人名字

  • 获取API

上传zabbix服务端告警脚本

go语言脚本下载地址:http://pan.baidu.com/s/1nv1KU1b 密码:61tb

unzip golang-zabbix-robot-64.zip        先解压脚本
mv golang-zabbix-robot-64 /usr/lib/zabbix/alertscripts/     将脚本放到zabbix脚本目录,不清楚位置可以查看zabbix.conf配置目录
chmod +x golang-zabbix-robot-64     添加可执行权限

zabbix web端配置

  • 创建告警媒介

  • 创建用户 创建一个钉钉用户关联钉钉告警脚本媒介

  • 创建动作

    默认信息

      <?xml version="1.0" encoding="UTF-8" ?>
      <root>
        <from>{HOSTNAME1}</from>
        <time>{EVENT.DATE} {EVENT.TIME}</time>
        <level>{TRIGGER.SEVERITY}</level>
        <name>{TRIGGER.NAME}</name>
        <key>{TRIGGER.KEY1}</key>
        <value>{ITEM.VALUE}</value>
        <now>{ITEM.LASTVALUE}</now>
        <id>{EVENT.ID}</id>
        <ip>{HOST.IP}</ip>
        <url>这里是点击报警消息可以访问的链接地址</url>
        <age>{EVENT.AGE}</age>
        <status>{EVENT.STATUS}</status>
      <acknowledgement> {EVENT.ACK.STATUS} </acknowledgement>
      <acknowledgementhistory> {EVENT.ACK.HISTORY}</acknowledgementhistory>
      </root>
    

    恢复信息

      <?xml version="1.0" encoding="UTF-8" ?>
      <root>
        <from>{HOSTNAME1}</from>
        <time>{EVENT.DATE} {EVENT.TIME}</time>
        <level>{TRIGGER.SEVERITY}</level>
        <name>{TRIGGER.NAME}</name>
        <key>{TRIGGER.KEY1}</key>
        <value>{ITEM.VALUE}</value>
        <now>{ITEM.LASTVALUE}</now>
        <id>{EVENT.ID}</id>
        <ip>{HOST.IP}</ip>
        <color>FF4A934A</color>
        <url>这里的url会替换报警媒介的url</url>
        <age>{EVENT.AGE}</age>
        <recoveryTime>{EVENT.RECOVERY.DATE} {EVENT.RECOVERY.TIME}</recoveryTime>
        <status>{EVENT.RECOVERY.STATUS}</status>
      </root>
    

验证

  • 等待告警出现,查看报表中动作日志。
  • 钉钉告警展示