**此处利用sendEmail程序来发送报警邮件**
一、sendEmail的部署步骤
官方介绍:http://caspian.dotconf.net/menu/Software/SendEmail/
1.下载安装包并解压
[root@zabbix-6 ~]# wget -c http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz
[root@zabbix-6 ~]# tar zxf sendEmail-v1.56.tar.gz
[root@zabbix-6 ~]# cd sendEmail-v1.56
[root@zabbix-6 sendEmail-v1.56]# cp -a sendEmail /usr/local/bin/
[root@zabbix-6 sendEmail-v1.56]# chmod +x/usr/local/bin/sendEmail //加权限
[root@zabbix-6 sendEmail-v1.56]# file /usr/local/bin/sendEmail
/usr/local/bin/sendEmail: a /usr/bin/perl -w scripttext executable
2.看下sendemail命令的帮助信息
[root@zabbix-6 sendEmail-v1.56]# /usr/local/bin/sendEmail
3.安装下依赖包
[root@zabbix-6 sendEmail-v1.56]# yum install perl-Net-SSLeay perl-IO-Socket-SSL-y
4.简单的报警脚本
[root@zabbix-6 sendEmail-v1.56]# cd /usr/lib/zabbix/alertscripts/
[root@zabbix-6 alertscripts]# cat mail.sh
#!/bin/bash
To=$1
Subject=$2
Body=$3
/usr/local/bin/sendEmail -f wangyongbing@dave.cn -t "$to" -s smtp.dave.cn -u "$subject" -xu wangyongbing@dave.cn -xp dave.1234 -m "$body" 2>&1>>/var/log/sendEmail.log
说明:
/usr/local/bin/sendEmail -f [发送者邮箱地址] -t "$To" -s [你的smtp服务器地址] -u "$Subject" -xu [smtp验证登陆名/发送者邮箱地址] -xp [你的邮箱密码] -m "$Body"
a.wangyongbing@dave.cn:发送者邮箱地址
b.smtp.intop.cn : smtp服务器地址,这里的dave.cn是我公司的域名,若发送者邮箱是qq邮箱,则是smtp.qq.com
编辑完成后,给脚本权限
[root@zabbix-6 alertscripts]# chmod +x mail.sh
[root@zabbix-6 alertscripts]# touch /var/log/sendEmail.log
[root@zabbix-6 alertscripts]# chown zabbix.zabbix /var/log/sendEmail.log
[root@zabbix-6 alertscripts]# chown zabbix.zabbix mail.sh
zabbix服务器上测试
[root@zabbix3~]#/usr/local/bin/sendEmail -f wangyongbing@dave.cn -t 270203917@qq.com -s smtp.dave.cn -u "test" -m "test01" -xu wangyongbing@dave.cn -xp dave.wang
-u 指定邮件标题
-m 指定邮件内容
5.脚本编辑好后,在zabbix登陆界面进行设置
注意:zabbix 3.0 需要在为alert脚本定义参数,以前的版本参数都固定的,现在用户可以自己定义命令行的参数了。添加的参数也就是脚本中的$1、$2、$3等。
添加媒介:Administration-->Media types,增加如下参数
添加完成后,需要关联到报警用户
Administration-->Users-->Admin(别名) -->Media-->add
这里填收件人邮箱 270203917@qq.com
添加动作,触发条件后报警后发送邮件
Configuration--Actions--Eventsource(选择Triggers) --Create action
设置了60秒,接收消息组,接受消息用户,以及报警介质
# systemctl start sendmail //开户sendmail服务
模拟把其中一个zabbix-agent 服务关掉Systemctl stop zabbix-agent ,过会QQ邮箱就会收到
本文出自 “Dave-技术博客” 博客,请务必保留此出处http://davewang.blog.51cto.com/6974997/1859872
原文地址:http://davewang.blog.51cto.com/6974997/1859872