钉钉机器人创建:
钉钉提供了一个 webhook 地址,获取到Webhook地址后,用户可以使用任何方式向这个地址发起 HTTP POST 请求,即可实现给该群组发送消息。
配置脚本
脚本下载路径:http://down.51cto.com/data/2451909
1、下载编写好的程序文件到zabbix的/usr/lib/zabbix/alertscripts目录(我这里是默认路径,具体检查/etc/zabbix/zabbix_server.conf)
[root@centos78 alertscripts]# cd /usr/lib/zabbix/alertscripts/
[root@centos78 alertscripts]# ll
total 5696
-rw-r--r--. 1 root root 5828913 Sep 13 23:22 webhook-zabbix-robot-64
[root@centos78 ~]# vim /etc/zabbix/zabbix_server.conf
解压更改名称为webhook-zabbix-robot-64并且chmod +x webhook-zabbix-robot-64 && chown zabbix.zabbix webhook-zabbix-robot-64
创建/tmp/dingding.log 并更改属主为zabbix
[root@centos78 ~]# cd /usr/lib/zabbix/alertscripts/
[root@centos78 alertscripts]# chmod +x webhook-zabbix-robot-64 && chown zabbix.zabbix webhook-zabbix-robot-64 让zabbix拥有权限
[root@centos78 ~]# touch /tmp/dingding.log
[root@centos78 tmp]# chmod +x dingding.log && chown zabbix.zabbix dingding.log
[root@centos78 tmp]# ll
total 908
-rwxr-xr-x. 1 zabbix zabbix 0 Sep 13 23:27 dingding.log
2、报警媒介类型
-webhook:为刚才添加机器人的值:
-msg:为zabbix定义的告警
-url:为zabbix服务器地址:
-log:为记录日志,对应刚才创建的日志文件
3、配置动作
操作默认信息内容如下:
恢复操作默认信息如下:
确认操作默认信息如下:
最后更新下,
4、配合用户报警信息
四、测试
1、先测试脚本是否有问题:
[root@centos78 alertscripts]# ./webhook-zabbix-robot-64 -webhook=https://oapi.dingtalk.com/robot/send?access_token=xxxxxxxxxx
2018/09/13 23:39:46 初始化完成。
2018/09/13 23:39:46 开始创建消息。
2018/09/13 23:39:46 消息创建完成。
2018/09/13 23:39:46 开始POST至Webhook。
2018/09/13 23:39:47 钉钉机器人接口返回消息:{"errmsg":"ok","errcode":0}
2、正常触发报警信息
五、失败原因:
1、关闭防火墙
2、关闭SELinux
[root@centos78 ~]# /usr/sbin/sestatus
SELinux status: disabled
3、查看动作是否失败:
正常显示为完成状态
如果显示失败,可以把作--默认信息的换行符删除掉,或者检查字符是否存在中文字母