Zabbix邮件报警-->Script
Version:3.0.1
邮件报警有两种media
1、Email zabbix发送报警邮件到指定smtp服务器(使用系统自带的sendmail,发送邮箱是zabbix服务器的本地邮箱账号) 再由smtp服务器发送邮件到指定邮箱
2、Script 使用一个可以在互联网上正常收发邮件的邮箱账号(例如: xxx@qq.com),通过在zabbix服务器端中设置,使其能够发送报警邮件到指定邮箱
第二种:Script
安装SMTP邮件客户端sendEmail (注意不是sendmail)
wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz
tar -zxv -f sendEmail-v1.56.tar.gz # 已编译好版本 解压就可以用了
mv sendEmail /usr/local/bin
配置脚本
AlertScriptsPath=/usr/local/zabbix/alertscripts # 修改配置文件
vim /usr/local/zabbix/alertscripts/mail.sh # 定义发送邮件脚本
#!/bin/bash exec 1>>/tmp/zabbix_mail.log 2>&1 to="$1" subject="$2" body="$3" /usr/local/bin/sendEmail -f mail@test.com -t "$to" -s smtp.exmail.qq.com -u "$subject" -o message-content-type=text -o message-charset=utf8 -xu mail@test. com -xp test -m "$body"
修改配置文件
vim /usr/local/zabbix/etc/zabbix_server.conf
AlertScriptsPath=/usr/local/zabbix/alertscripts
添加媒介类型
配置用户相关联的用户媒介 # 管理员 -> 用户 -> 媒介
配置报警action
一、创建action # Configuration -> Actions -> Event source(Triggers) -> Create action
Recovery message:监控恢复之后,也会发送通知
二、Conditions配置
Type of calculation:各种条件之间的关系,包含AND,OR以及AND/OR,上图是AND关系,同时要满足以上机器不在维护状态以及触发器值为PROBLEM才会触发报警的动作
三、Operations配置
发送报警的时间间隔为240秒,第1,2个报警消息发给netadmin用户组,第3,4个报警消息发给suzhou用户组
以上Script报警步骤全部完成,查看报警的情况(Monitoring->Events->Source(Trigger)) 点击下面的条目查看具体的消息(Event details)
ps: Event details 查看的邮件是否发送成功是zabbix服务器是否成功调用了mail.sh脚本,mail.sh有没有正确发送邮件到目的地,它管不了的
查看mail.sh是否把邮件正确发送到目的地:脚本里面设置的日志 /tmp/zabbix_mail.log # 一般错误都是邮件发送超额了