zabbix入门之配置邮件告警
邮件环境搭建
使用本地邮箱账号发送邮件
zabbix-server 端安装 mailx 、sendmail或者psotfix 服务,系统默认安装好了postfix
#安装sendmail,并加入开机自启。
yum -y install sendmail
systemctl start sendmail
systemctl enable sendmail
#开启postfix并加入开机自启。
systemctl start postfix
systemctl enable postfix
#安装mailx
yum -y install mailx
测试邮件发送
echo "zabbix test mail" | mail -s "zabbix" [email protected]
echo "邮件内容" |mail -s "邮件标题" 收件人邮件地址
使用外部邮箱账号发送邮件
#卸载sendmail服务
rpm -qa |grep sendmail
sendmail-8.14.7-5.el7.x86_64
rpm -e sendmail-8.14.7-5.el7.x86_64
#关闭postfix
systemctl stop postfix
systemctl disable postfix
#安装mailx邮件服务
yum -y install mailx
systemctl start mailx && systemctl enable mailx
配置zabbix-server端外部邮箱
vim /etc/mail.rc
#在底部添加以下内容
set [email protected] # 发件人邮箱地址
set smtp=smtp.163.com:25 # 发件人smtp服务
set [email protected] #发件人登录邮箱的用户名
set smtp-auth-password=123456 # 发件人客户端授权密码 下面介绍怎么设置
set smtp-auth=login #方式
创建邮件发送脚本
vim /etc/zabbix/zabbix_server.conf
#找到下面这行,记下报警脚本的路径,若注释则取消注释。
AlertScriptsPath=/usr/lib/zabbix/alertscripts
cd /usr/lib/zabbix/alertscripts
#创建邮件发送脚本
vim mail.sh
#!/bin/bash
SENT_TO=$1 #第一个参数,定义发给谁
SENT_SUBJECT=$2 #第二个参数,定义标题
#不做下面这几行配置的话,默认zabbix发的邮件内容在附件里,每次查看都要下载附件很麻烦。
#这几行将附件的内容直接输出到邮件中,方便查看邮件。
SENT_CONTENT="/tmp/alert_$$.tmp"
echo "$3">$SENT_CONTENT
dos2unix $SENT_CONTENT
mailx -s "$SENT_SUBJECT" $SENT_TO<$SENT_CONTENT
#脚本中的dos2unix,需要主机中存在dos2unix组件,没有的话需要下载。
yum -y install dos2unix
测试邮件发送脚本
cd /usr/lib/zabbix/alertscripts
./mail.sh "收件人邮箱" "邮件标题" "邮件内容"
./mail.sh "[email protected]" "zabbix mail script test" "测试成功"
配置zabbix服务端邮件报警
创建报警媒介类型
定义用户使用报警媒介
选择一个用户
找到并点击报警媒介的标签,点击添加报警媒介
点击更新
为触发器创建一个动作
修改“默认标题”、“消息内容”、“恢复主题”、“恢复信息”中的内容,使邮件标题和内容更直观。
默认标题:故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生:{TRIGGER.NAME}故障!
消息内容:
告警主机:{HOSTNAME1}
告警地址:{IPADDRESS}
告警时间:{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}
告警地址:{IPADDRESS}
告警时间:{EVENT.DATE}{EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
持续时间:{EVENT.AGE}
恢复时间:{EVENT.RECOVERY.TIME}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}
测试
关闭FTP服务触发告警
systemctl stop vsftpd
成功收到告警邮件
开启FTP服务
systemctl start vsftpd