Zabbix邮箱告警设置
环境:centos7 zabbix版本:zabbix3.0
安装邮箱发送工具mailx,我发现我系统自带了mailx。如果没有装的可以用yum安装mailx。用光盘挂载的安装包装也可以。
#yum install -y mailx*
#rpm -ivh /mnt/cdrom/Packages/mailx-12.5-16.el7.x86_64.rpm
需要确保没有其他邮箱发送工具在使用。
安装完成需要配置mail.rc文件,如果没有请手动添加
#vim /etc/mailx.rc
set sendcharsets=iso-8859-1,utf-8
set from= example@mail.com
set smtp=邮箱服务器地址:端口号
set smtp-auth-user= example@mail.com
set smtp-suth-password=password
测试是否配置成功
echo "zabbix test mail" | mail -s "zabbix" example@mail.com
配置成功后执行命令后会收到邮箱。"zabbix test mail"是邮箱内容,"zabbix"是邮箱标题,邮箱来自example@mail.com。
配置到这里,其实已经完成了。但是,邮箱会以附件的方式发送。打包成一个二进制文件发送会很不方便。所以这里为解决邮箱是附件格式的问题提供解决方案。
安装dos2unix转换工具
#rpm -ivh /mnt/cdrom/Packages/dos2unix-6.0.3-7.el7.x86_64.rpm
编写邮箱脚本,需要存放到zabbix的脚本目录。不知道目录的可以通过以下指令查看
#vim /usr/lib/zabbix/alertscripts/sendmail.sh
脚本代码
#!/bin/bash
#export.UTF-8 ###编码格式为utf8
FILE=/tmp/mailtmp.txt
echo "$3" >$FILE ###$3是zabbix的alert信息
dos2unix -k $FILE ###解决邮件内容变成附件的问题。
/bin/mail -s "$2" $1 < $FILE ###$2,$1分别是{ALERT.SUBJECT}和{ALERT.SENDTO}
请记得给脚本授权
chmod 755 /usr/lib/zabbix/alertscripts/sendmail.sh
zabbix server端的配置结束接下来是配置web端
告警是由一系列的流程组成的。具体可表示为:
HostGroups(设备组)->Hosts(设备)->Applications(监控项组)->Items(监控项)->Triggers(触发器)->Action(告警动作)->Medias(告警方式)->UserGroups(用户组)->Users(用户)。
Default message:
告警主机:{HOSTNAME1}
告警时间:{EVENT.DATE}-{EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}
Action配置完成后,即触发器出发后做出的动作已经设置好。现在设置就要把触发器的信息告诉谁。用户与告警方式。
配置完成,把zabbix agent关了,过5分钟就可以收到告警邮箱了。