zabbix使用钉钉sh脚本告警

1、钉钉账号创建,并创建一个组,在组中添加一个机器人,然后记下webhook地址即可

2、编辑一个报警脚本,此处使用的是BASH脚本,并覆盖我们的webhook地址到相应的位置.

[root@localhost ~]# vim dingding.sh

#!/bin/bash
to=$1
subject=$2
text=$3
curl 'https://oapi.dingtalk.com/robot/send?access_token=your mishi' \
-H 'Content-Type: application/json' \
-d '
{"msgtype": "text",
"text": {
"content": "'"$text"'"
},
"at":{
"atMobiles": [ "'"$1"'" ],
"isAtAll": false
}
}'

2、在Linux系统下运行脚本,测试是否能够发送一个警告信息

[root@localhost ~]# chmod +x dingding.sh
[root@localhost ~]# bash dingding.sh hello lyshark we
{"errmsg":"ok","errcode":0}
[root@localhost ~]#

4、确认过能报警以后,我们来开启Zabbix服务的脚本功能。

[root@localhost ~]# vim /usr/local/zabbix/etc/zabbix_server.conf
[root@localhost ~]# vim /etc/zabbix/zabbix_server.conf

### Option: AlertScriptsPath
#       Full path to location of custom alert scripts.
#       Default depends on compilation options.
#       To see the default path run command "zabbix_server --help".
#
# Mandatory: no
# Default:
# AlertScriptsPath=${datadir}/zabbix/alertscripts

AlertScriptsPath=/usr/lib/zabbix/alertscripts     #解除注释,找到配置项

5、把上面的dingding.sh文件拷贝到,上述目录下面,并设置权限。

[root@localhost ~]# cp -a send.sh /usr/lib/zabbix/alertscripts/
[root@localhost ~]# chmod 777 -R /usr/lib/zabbix/alertscripts/
[root@localhost ~]# systemctl restart zabbix-server

6、点击图形界面,选择管理->报警媒介->创建报警媒介
新增:{ALERT.SENDTO}{ALERT.SUBJECT}{ALERT.MESSAGE}

7、点击图形界面,选择:配置-动作-创建动作,首先创建一个动作。

8、紧接着点击操作-配置一下故障报警消息格式.
标题改为:
故障{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}

继续往下看,点击 新的 ,配置一个报警用户组和报警使用消息.
下图表示触发5次动作,每隔120秒触发一次,告警发给 admin 用户,用钉钉媒介发送.

9、当我们配置完成一个故障报警后,下面就继续配置一个恢复后的提示.

标题改为:
恢复{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}
最终点击小add添加选项,继续点击大ADD完成动作增加.
10、配置告警用户,点击管理->用户->Admin->报警媒介,修改以下内容.

最后点击更新按钮完成任务了.

发表评论