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  # 一般错误都是邮件发送超额了

posted @ 2016-07-30 17:10  metasequoia  阅读(452)  评论(0编辑  收藏  举报