一、配置本机postfix服务
之前邮件设置一直使用的163的smtp服务,但是163的smtp服务经常性的报5xx的错误,所以自己配置smtp服务。
- 下载安装postfix,mailx
yum install postfix mailx dos2unix -y
- 配置postfix和mail.rc,改动的东西不多
# vi /etc/postfix/main.cf
inet_protocols = ipv4
mynetworks = 127.0.0.0/8
# vi /etc/mail.rc
set from="zabbix@imlcs.com" smtp=127.0.0.1
-
收件箱用的是QQ邮箱,先设置邮件地址白名单(一定要和mail.rc中的"set from"的地址一样)
4.发送一封测试邮件
echo "你好,收件人!" |mail -s "这是一封zabbix测试邮件" xxxxxxxxx@qq.com
二、zabbix配置
-
配置zabbix报警媒介
- sendmail.sh脚本内容
$ cat /usr/lib/zabbix/alertscripts/sendmail.sh
#########################################################################
# File Name: sendmail.sh
# Author: lcs
# Created Time: 2017-11-09 09:13:47
#########################################################################
##!/bin/bah
export LANG=en_US.UTF-8
to=$1
subject=$2
echo "$3" > /tmp/zabbix_mailbody #存入临时文件是为了解决邮件正文中带有中文时没有邮件正文,正文在附件中的问题
dos2unix /tmp/zabbix_mailbody_$$
mail -s "$subject" "$to" < /tmp/zabbix_mailbody
rm -f /tmp/zabbix_mailbody
-
配置zabbix报警动作(zabbix版本为3.4.2,不同版本配置界面不一样)
故障{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}