killerxf 发表于 2019-1-24 12:23:50

Zabbix(二):自定义脚本、远程命令、报警升级测试实例

  1.自定义脚本
  Zabbix中有统一的报警脚本存放路径,即:/usr/lib/zabbix/alertscripts。
# cd /usr/lib/zabbix/alertscripts/
# vim mailalert.sh
#!/bin/bash
#
Contact=$1
Subject=$2
Mailbody=$3
echo -e "From: mailalert.sh \n$Mailbody" | mail -s $Subject $Contact  # chmod +x mailalert.sh
  在Media types里定义新的通知方式为脚本
http://s1.运维网.com/images/20171128/1511838848851015.png
  更改users里面的media中admin的被通知的方式为脚本
http://s1.运维网.com/images/20171128/1511838863681930.png
  更改action中的operation为自定义脚本
http://s1.运维网.com/images/20171128/1511838880728094.png
  为了测试脚本,可以在其他虚拟机上安装hping3,这个工具
  我在172.16.1.10上安装并执行:hping --faster 172.16.1.4
  可以看到zabbix已经报警了

http://s1.运维网.com/images/20171128/1511838920597484.png
  邮件也已经发送成功
http://s1.运维网.com/images/20171128/1511838945737643.png
  2.远程命令
  创建一个新的item监控agent主机nginx服务的80端口,若80端口监控失败,则执行远程命令,重启nginx服务。
http://s1.运维网.com/images/20171128/1511838973348177.png
  创建一个新的trigger
http://s1.运维网.com/images/20171128/1511838983952077.png
  创建一个新的action
http://s1.运维网.com/images/20171128/1511839001371175.png
http://s1.运维网.com/images/20171128/1511839567589805.png
  当关闭agent端的nginx服务时,可以在problem里面看到多了一个绿色的severity,(这里我开关了四次nginx所以有四个)。
http://s1.运维网.com/images/20171128/1511840518250614.png
  还可以在latest data中看到,graph变化了四次。
http://s1.运维网.com/images/20171128/1511841229522479.png
  当关闭nginx服务时,item检测不到80端口,就会触发远程命令,重启nginx服务。
  如下,可以看到,我关闭nginx后,立马查看没有80端口,等过几秒后再次查看,80端口又出现了,这就意味着远程命令执行成功。
http://s1.运维网.com/images/20171128/1511840525393857.png
  3.报警升级
  当远程命令执行不能解决问题时,可以发送邮件的方式通知相关人员
http://s1.运维网.com/images/20171128/1511839164710704.png



页: [1]
查看完整版本: Zabbix(二):自定义脚本、远程命令、报警升级测试实例