首先钉钉创建一个团队
自定义关键词
[root@controlnode ~]# grep ^AlertScriptsPath /etc/zabbix/zabbix_server.conf
AlertScriptsPath=/usr/lib/zabbix/alertscripts
在配置文件书写脚本目录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.sh
- chown 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测试