1.自定义脚本
Zabbix中有统一的报警脚本存放路径,即:/usr/lib/zabbix/alertscripts。
1
2
3
4
5
6
7
8
|
[root@zrs1 ~]
# cd /usr/lib/zabbix/alertscripts/
[root@zrs1 alertscripts]
# vim mailalert.sh
#!/bin/bash
#
Contact=$1
Subject=$2
Mailbody=$3
echo
-e
"From: mailalert.sh \n$Mailbody"
| mail -s $Subject $Contact
|
[root@zrs1 alertscripts]# chmod +x mailalert.sh
在Media types里定义新的通知方式为脚本
更改users里面的media中admin的被通知的方式为脚本
更改action中的operation为自定义脚本
为了测试脚本,可以在其他虚拟机上安装hping3,这个工具
我在172.16.1.10上安装并执行:hping --faster 172.16.1.4
可以看到zabbix已经报警了
邮件也已经发送成功
2.远程命令
创建一个新的item监控agent主机nginx服务的80端口,若80端口监控失败,则执行远程命令,重启nginx服务。
创建一个新的trigger
创建一个新的action
当关闭agent端的nginx服务时,可以在problem里面看到多了一个绿色的severity,(这里我开关了四次nginx所以有四个)。
还可以在latest data中看到,graph变化了四次。
当关闭nginx服务时,item检测不到80端口,就会触发远程命令,重启nginx服务。
如下,可以看到,我关闭nginx后,立马查看没有80端口,等过几秒后再次查看,80端口又出现了,这就意味着远程命令执行成功。
3.报警升级
当远程命令执行不能解决问题时,可以发送邮件的方式通知相关人员
本文转自 Runs_ 51CTO博客,原文链接:http://blog.51cto.com/12667170/2045019,如需转载请自行联系原作者