centos7 yum 安装zabbix设置钉钉机器人报警

原文地址

网上有很多zabbix使用钉钉触发告警信息的攻略, 需要注意的是zabbix3.2不能使用那些攻略进行触发报警.

至于监控内容啥的不在这篇文章里谈及, 我们这里只谈报警部分.

作者这里的环境基本都是centos 7.4 以及zabbix3.2 yum 安装,如果读者用的其他系统, 或安装方式不同, 此文章仅供参考.

搭建好zabbix3.2环境,然后:

  1. 从网上下载一下钉钉的zabbix机器人:

    钉钉-zabbix-robot

解压缩并放在你的任意位置,改名为dingding.sh并放到你的/usr/lib/zabbix/alertscripts(yum安装默认是这个文件夹)下并授予执行权限:

cp golang-zabbix-robot-64 /usr/lib/zabbix/alertscripts/dingding.sh
chmod u+x /usr/lib/zabbix/alertscripts/dingding.sh

2. 随便拉一个钉钉群,或者直接使用部门群, 添加一个自定义机器人:

blob.png

blob.png

blob.png

blob.png

注意这里的webhooks, 稍后设置发送消息的来源会用到,点击完成:

blob.png

2. 在web主页面点击administration, 然后选择Media type,可以看到你当前的所有报警媒介, 邮件报警除非是自建的邮件服务器建议不要再用了. 受供应商限制太多.

点击右上角的create Media type, 创建一个新的报警媒介:

blob.png

输入名称dingding,选择类型为script,输入文件名称为dingding.sh,并添加多个Script parameters,每个参数1个, 然后点击add.


-webhook=<贴入你刚建立好的机器人的webhooks>

-msg={ALERT.MESSAGE}

-url=https://<此处替换为你的zabbix主页>

-log=/tmp/dingding.log

create.png

点击user 为调整admin的media type以接收报警:

blob.png

blob.png

在Media选项卡点击add添加一个接收报警的媒介:

blob.png

因为钉钉使用的是web接口,只需要确认你的发送方式是钉钉就好了,与实际发送的用户名没有任何关系,确认输入无误后点击add

blob.png


3.接下来开始创建action, 在主页面上选择configuration里的actions,点击右上角的create action:

blob.png

新建的action主页面只要写个名称就好了:

blob.png接下来设置operation,在Default message 贴入以下内容,注意在3.4的版本是需要注意格式的,但是在3.2版本必须去掉所有格式

<?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</url><age>{EVENT.AGE}</age><status>{EVENT.STATUS}</status><acknowledgement> {EVENT.ACK.STATUS} </acknowledgement><acknowledgementhistory>{EVENT.ACK.HISTORY}</acknowledgementhistory></root>

在operation右侧点击new,添加新的操作:

blob.png

在send only to 设置为创建好的media type的名称,也可以偷懒直接设置为all,在Send to User groups 和Send to Users可以设置为发送给组或者某个zabbix用户,完成后点击operation details的add:

blob.png

完成后如下, 这个operation可以随时编辑,所以不担心输入错误, 同时可以可以把Operation type修改为执行remote command,以zabbix-agent 发送运维命令实现自动化运维:

blob.png

接下来设置系统恢复操作,点击屏幕上方的Recovery operations,贴入default message:

<?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><age>{EVENT.AGE}</age><recoveryTime>{EVENT.RECOVERY.DATE} {EVENT.RECOVERY.TIME}</recoveryTime><status>{EVENT.RECOVERY.STATUS}</status></root>

然后添加一个operation,并点击add:

blob.png

完成结果如下:

blob.png

点击add.这里需要说明的是由于钉钉用的是机器人接口发送消息, 所以跟个人的邮箱什么的没有任何关系.

报警效果如下,机器人头像是我个人加的,图片随便搜:

blob.png


猜你喜欢

转载自blog.51cto.com/13801798/2129298