title: Zabbix 配置钉钉脚本告警(4)
date: 2018-12-10 11:50:21
tags:
- Zabbix
categories: Zabbix
copyright: true
---
Zabbix是一个非常强大的监控系统,是企业级的软件,来监控IT基础设施的可用性和性能.它是一个能够快速搭建起来的开源的监控系统,Zabbix能监视各种网络参数,保证服务器系统的安全运营,并提供灵活的通知机制以让系统管理员快速定位解决存在的各种问题,Zabbix系统几乎可用于任何系统的监控过程,它可以运行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD,OS X,等平台上.
1.钉钉账号创建,并创建一个组,在组中添加一个机器人,然后记下webhook地址即可.
2.编辑一个报警脚本,此处使用的是BASH脚本,并覆盖我们的webhook地址到相应的位置.
[root@localhost ~]# vim send.sh
#!/bin/bash
to=$1
subject=$2
text=$3
curl 'https://oapi.dingtalk.com/robot/send?access_token=a7363009f0069f055bd403a8ef336ebac937bf350de51a8042905dd5321800' \
-H 'Content-Type: application/json' \
-d '
{"msgtype": "text",
"text": {
"content": "'"$text"'"
},
"at":{
"atMobiles": [ "'"$1"'" ],
"isAtAll": false
}
}'
3.在Linux系统下运行脚本,测试是否能够发送一个警告信息.
[root@localhost ~]# chmod +x send.sh
[root@localhost ~]# bash send.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.把上面的send.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->报警媒介
,修改以下内容.
最后点击更新按钮完成任务了.
11.此时我们强制关闭一个虚拟机,那么就能看到报警内容啦.