一、使用外部邮箱地址发送邮件(使用sendmail发送邮件,不能显示内容)

1、安装sendmail、mailx

yum install sendmail mailx

vim /etc/mail.rc #添加相关发件人内容

set [email protected] smtp=smtp.yeah.net

set [email protected] smtp-auth-password= ….

set smtp-auth=login

2、登录外部邮箱,启用SMTP登录
zabbix3.0邮件报警

service sendmail start

echo “test.hahahahaha” | mail -s “test” [email protected] #发邮件进行测试

测试sendmail成功,登陆我的QQ邮箱可以收到邮件!
zabbix3.0邮件报警

3、添加zabbix邮件报警脚本

[[email protected] ~]# vim /usr/local/zabbix/etc/zabbix_server.conf

AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts

[[email protected] ~]# vim /usr/local/zabbix/share/zabbix/alertscripts/sendmail.sh

#!/bin/bash

echo “3"|mails"2” $1

#其中1zabbix2是邮件主题,$3是邮件内容;

[[email protected] ~]# chmod +x /usr/local/zabbix/share/zabbix/alertscripts/sendmail.sh

1)zabbix进入网页设置邮件报警

​ 选择 管理——示警媒介类型
zabbix3.0邮件报警

2)点击sendmail进入设置界面:选择类型——脚本,输入前面写的脚本名称;

在Script parameters添加参数,3.0版本必须添加,2.0不需要添加

{ALERT.SENDTO}

{ALERT.SUBJECT}

{ALERT.MESSAGE}
zabbix3.0邮件报警

3)编辑用户

选择 管理-用户
zabbix3.0邮件报警

点击示警媒介
zabbix3.0邮件报警

添加
zabbix3.0邮件报警

更新

点击许可权,设置所有权限
zabbix3.0邮件报警

选择-用户群组
zabbix3.0邮件报警

点击 Zabbix administrator
zabbix3.0邮件报警

点击许可权

添加所有组合许可权、主机群组、主机
zabbix3.0邮件报警

4)添加动作

选择 组态-动作
zabbix3.0邮件报警

点击Report problems to Zabbix administrators
zabbix3.0邮件报警

名称:Report problems to Zabbix administrators

默认接收人:故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}故障!

默认信息:

告警主机:{HOSTNAME1}

告警时间:{EVENT.DATE} {EVENT.TIME}

告警等级:{TRIGGER.SEVERITY}

告警信息:{TRIGGER.NAME}

告警项目:{TRIGGER.KEY1}

问题详情:{ITEM.NAME}:{ITEM.VALUE}

当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}

事件ID:{EVENT.ID}

恢复信息:打钩

恢复主旨:恢复{TRIGGER.STATUS}, 服务器:{HOSTNAME1}: {TRIGGER.NAME}已恢复!

恢复信息:

告警主机:{HOSTNAME1}

告警时间:{EVENT.DATE} {EVENT.TIME}

告警等级:{TRIGGER.SEVERITY}

告警信息:{TRIGGER.NAME}

告警项目:{TRIGGER.KEY1}

问题详情:{ITEM.NAME}:{ITEM.VALUE}

当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}

事件ID:{EVENT.ID}

选择条件,计算方式选择Or
zabbix3.0邮件报警

选择操作,编辑操作
zabbix3.0邮件报警

zabbix3.0邮件报警
更新——更新

测试

[[email protected] ~]# /etc/init.d/zabbix_agentd stop

一分钟后会收到报警邮件
zabbix3.0邮件报警

附件的.bin文件就是报警内容,需要使用第三方软件打开

二、使用外部邮箱地址发送邮件(使用sendmail发送邮件,显示内容)

1、安装组件

yum install perl-Net-SSLeay perl-IO-Socket-SSL -y

2、安装sendEmail

wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz

tar zxf sendEmail-v1.56.tar.gz -C /usr/src

cd /usr/src/sendEmail-v1.56/

cp -a sendEmail /usr/local/bin

chmod +x /usr/local/bin/sendEmail

/usr/local/bin/sendEmail -f [email protected] -t [email protected] -s smtp.yeah.net -u zabbix -o message-content-type=html -o message-charset=utf8 -xu [email protected] -xp liuguangshuN0820 -m “test邮件” //测试发送邮件

注意:perl版本必须是5.10.0,centos7以上版本perl默认是5.16,需要将perl版本换为5.10.0

perl -v

cd

wget http://www.cpan.org/src/5.0/perl-5.10.0.tar.gz

tar -zxf perl-5.10.0.tar.gz -C /usr/src/

cd /usr/src/perl-5.10.0/

./configure.gnu -des -Dprefix=/usr/local/perl

echo $?

make -j2

make install

mv /usr/bin/perl /usr/bin/perl.bak

ln -s /usr/local/perl/bin/perl /usr/bin/perl

perl -v

/usr/local/bin/sendEmail -f [email protected] -t [email protected] -s smtp.yeah.net -u zabbix -o message-content-type=html -o message-charset=utf8 -xu [email protected] -xp ‘liuguangshuN0820’ -m “test邮件”

Mar 14 15:45:58 iz25kscmkn3z sendEmail[11484]: Email was sent successfully! //发送成功

3、编辑sendmail.sh文件

vim /usr/local/zabbix/share/zabbix/alertscripts/sendmail.sh

#!/bin/bash

#echo “3"|mails"2” $1

to=$1

subject=$2

body=$3

/usr/local/bin/sendEmail -f [email protected] -t “to"ssmtp.yeah.netu"subject” -o message-content-type=html -o message-charset=utf8 -xu [email protected] -xp liuguangshuN0820 -m “$body”

#echo “body"|mails"subject” $to

#其中1zabbix2是邮件主题,$3是邮件内容;

4、修改动作,因为我用sendmail.sh脚本格式指定html,所以添加换行符

告警主机: {HOSTNAME1}

告警时间: {EVENT.DATE} {EVENT.TIME}

告警等级: {TRIGGER.SEVERITY}

告警信息: {TRIGGER.NAME}

告警项目: {TRIGGER.KEY1}

问题详情: {ITEM.NAME}: {ITEM.VALUE}

当前状态: {TRIGGER.STATUS}: {ITEM.VALUE1}

事件ID: {EVENT.ID}

5、收到的报警内容
zabbix3.0邮件报警

相关文章: