首先钉钉创建一个团队
自定义关键词
查看zabbix-server脚本存放的位置:
[root@controlnode ~]# grep ^AlertScriptsPath /etc/zabbix/zabbix_server.conf
AlertScriptsPath=/usr/lib/zabbix/alertscripts
zabbix server设置
在配置文件书写脚本目录vim /etc/zabbix/zabbix_server.conf
AlertScriptsPath=/usr/lib/zabbix/alertscripts
在完成上述操作后,我们来编写zabbix钉钉报警的脚本,
创建脚本内容如下所示:vim /usr/lib/zabbix/alertscripts/dingding.sh
#!/bin/bash
to=$1
subject=$2
text=$3#此处的 xxx就是刚刚复制存留的 api 接口地址。(只粘贴token后面即可)
curl -i -X POST \
'https://oapi.dingtalk.com/robot/send?access_token=XXX' \
-H 'Content-type':'application/json' \
-d '
{"msgtype": "text","text": {"content": "'监控报警:''"$text"'"},"at":{"atMobiles":["'"$1"'"],"isAtAll":false}
}'
脚本添加执行权限,修改属组属主
脚本赋予可执行权限:
[root@controlnode alertscripts]# chmod +x dingding.shchown zabbix:zabbix dingding.sh
创建脚本日志,添加执行权限
[root@localhost alertscripts]# touch /tmp/zabbix.log
[root@localhost alertscripts]# chmod +x /tmp/zabbix.log
[root@localhost alertscripts]# chown zabbix:zabbix /tmp/zabbix.log
下载requst模块 yum -y install python-requests python
测试脚本
查看自己的钉钉号
测试脚本是否成功
设置前端创建脚本及报警媒介
再添加以下 3 个参数,分别对应脚本需要的 3 个参数:收件人地址、主题、详细内容
在用户里添加报警媒介
创建动作
标题(故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}故障!)
告警主机:{HOSTNAME1}
告警主机:{HOST.IP}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件 ID:{EVENT.ID}
nginx挂了,请处理
关闭开启nginx测试