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里定义新的通知方式为脚本

脚本1.png

更改users里面的media中admin的被通知的方式为脚本

脚本2.png

更改action中的operation为自定义脚本

脚本 动作.png

为了测试脚本,可以在其他虚拟机上安装hping3,这个工具

我在172.16.1.10上安装并执行:hping --faster 172.16.1.4

可以看到zabbix已经报警了

脚本3.png

邮件也已经发送成功

脚本4.png

2.远程命令

创建一个新的item监控agent主机nginx服务的80端口,若80端口监控失败,则执行远程命令,重启nginx服务。

远程命令1.png

创建一个新的trigger

远程 触发器2.png

创建一个新的action

远程 行动3.png

远程命令2.png

当关闭agent端的nginx服务时,可以在problem里面看到多了一个绿色的severity,(这里我开关了四次nginx所以有四个)。

QQ浏览器截屏未命名.png

还可以在latest data中看到,graph变化了四次。

QQ浏览器截屏未命名.png

当关闭nginx服务时,item检测不到80端口,就会触发远程命令,重启nginx服务。

如下,可以看到,我关闭nginx后,立马查看没有80端口,等过几秒后再次查看,80端口又出现了,这就意味着远程命令执行成功。

1.png

3.报警升级

当远程命令执行不能解决问题时,可以发送邮件的方式通知相关人员

报警升级.png