一、设置sendmail
安装sendmail
yum install -y sendmail
systemctl start sendmail.service
配置
cd /usr/lib/zabbix/alertscripts
vim sendmail.sh
chmod +x sendemail.sh
#!/bin/bash
SMTP_server='smtp.exmail.qq.com' # SMTP服务器
username='XXXXXXXXX' # 用户名
password='XXXXXXXXX' # 密码
from_email_address='XXXXXXXX' # 发件人Email地址
to_email_address="$1" # 收件人Email地址,zabbix传入的第一个参数
message_subject_utf8="$2" # 邮件标题,zabbix传入的第二个参数
message_body_utf8="$3" # 邮件内容,zabbix传入的第三个参数
# 转换邮件标题为GB2312,解决邮件标题含有中文,收到邮件显示乱码的问题。
message_subject_gb2312=`iconv -t GB2312 -f UTF- << EOF
$message_subject_utf8
EOF`
[ $? -eq ] && message_subject="$message_subject_gb2312" || message_subject="$message_subject_utf8"
# 转换邮件内容为GB2312
message_body_gb2312=`iconv -t GB2312 -f UTF- << EOF
$message_body_utf8
EOF`
[ $? -eq ] && message_body="$message_body_gb2312" || message_body="$message_body_utf8"
# 发送邮件
sendEmail='/usr/bin/sendEmail'
$sendEmail -s "$SMTP_server" -xu "$username" -xp "$password" -f "$from_email_address" -t "$to_email_address" -u "$message_subject" -m "$message_body" -o message-content-type=text -o message-charset=gb2312
echo "`date +"%F %T"` send to $to_email_address" >> /tmp/send.log
fimd / -name 'zabbix' -print
/etc/zabbix/zabbix_server.conf 主配置文件
/usr/lib/zabbix/alertscripts zabbix调用脚本目录
测试 ./sendmail.sh ???????@qq.com zabbixtest "sssssss" //邮箱 标题 内容
[root@localhost alertscripts]# ./sendmail.sh 234234234@qq.com 123123123 "33333"
Jul 18 17:00:53 localhost sendEmail[29187]: Email was sent successfully!
之前出现过,发邮件测试正常,但是报警没邮件的情况,所以进行一下操作:参考 http://www.iyunv.com/thread-111385-1-1.html
第二个脚本:http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz(不是sendmail,这个是perl 写的一个使用smtp发送邮件的脚本)
wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz
tar xvf sendEmail-v1.56.tar.gz
cd sendEmail-v1.56
cp sendEmail /usr/bin/
chmod +x /usr/bin/sendEmail
解压: tar xvf sendEmail-v1.56.tar.gz
将里边的sendEmail 复制到/usr/bin/
然后测试第一个脚本
二、配置zabbix 告警机制
新建报警媒介
新建动作 触发机制
一定 先点 添加 再点更新
{TRIGGER.STATUS}: {TRIGGER.NAME}
告警主机:{HOST.NAME}
告警时间:{EVENT.DATE} {EVENT.TIME}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
事件ID:{EVENT.ID}
恢复操作
关联用户设置
三、测试
[root@123123 ~]# systemctl stop zabbix-agent