邮件发送部件安装测试(也可以用sendmail编写邮件发送)
1、安装:
#测试自带的mailx发送有问题,卸载系统自带的旧版mailx
yum remove mailx
下载mailx:
http://nchc.dl.sourceforge.net/project/heirloom/heirloom-mailx/12.4/mailx-12.4.tar.bz2
#解压,进入目录,编译,安装
tar jxvf mailx-12.4.tar.bz2
cd mailx-12.4
make
make install UCBINSTALL=/usr/bin/install
#创建mailx到mail的软连接,创建mailx配置文件软连接
ln -s /usr/local/bin/mailx /bin/mail
ln -s /etc/nail.rc /etc/mail.rc
#查看安装路径,查看版本信息
whereis mailx
mailx -V
2、邮件配置:
vi /etc/mail.rc
set [email protected](邮件显示发送方邮箱)
set smtp=smtp.exmail.qq.com
set [email protected](账号)
set smtp-auth-password=*********(密码,也有的用授权码)
set smtp-auth=login(默认选择登录)
3、测试发送(su 到zabbix用户下执行,看是否成功)
echo “hello” | /bin/mail -s “邮箱主题”[email protected]#test为接收有限
4、编写发送邮件脚本,sendmail.sh
#!/bin/bash
echo "time:$(date +%Y-%m-%d-%H:%M:%S)" >> /tmp/email.log
echo " p3_$3" >> /tmp/email.log
echo " p2_$2" >> /tmp/email.log
echo " p1_$1" >> /tmp/email.log
#换行转换,避免产生bin文件。由于linux和window换行符差异。
zabbixbody=`echo $3|tr '\r' '\n'`
#发送邮件
echo "$zabbixbody" | /bin/mail -s "$2" "$1"
#echo "$3" | /bin/mail -m -s "$2" $1 (加-m中文不乱码)
echo " send end ...">>/tmp/email.log
echo " ">>/tmp/email.log
zabbix设置
一、服务端配置文件修改
#添加触发的脚本目录,并将sendmail.sh放到该目录下
vi /usr/local/zabbix/etc/zabbix_server.conf
AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts
改完重启zabbix_server服务
二、网页配置-动作-创建动作:
1.动作
名称:自定义
默认接收人:(中文显示是接收人,但实际是邮件主题对应脚本$2)
{TRIGGER.NAME}
内容:(对应脚本$3)
默认信息:
告警主机:{HOST.NAME}
主机IP: {HOST.IP}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警名称:{TRIGGER.NAME}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
事件ID: {EVENT.ID}
2.触发条件
设置触发条件,满足执行操作
3.操作
1、默认操作步骤持续时间:当前步骤持续执行多少时间后,下一步骤才会执行
2、操作细节:1-0代表一致执行,直到告警恢复
60s,代表每隔60秒执行一次操作
TEST,选择发给那个用户
status_mail,选择发送的类型(这边是邮件发送)
三、创建报警媒介和用户
1、创建报警媒介
三个参数分别对应脚本接收人-$!,邮件主题-$2,邮件内容-$3
{ALERT.SENDTO}
{ALERT.SUBJECT}
{ALERT.MESSAGE}
2、创建用户
类型:对应你创建的报警媒介,填写接收人和接收条件。