本文主要以外部邮箱账号完成报警邮件的发送。
1 如果安装了Sendmail或postfix,则需要停止服务:
[[email protected] alertscripts]# uname -a
Linux www 3.10.0-514.el7.x86_64 #1 SMP Tue Nov 22 16:42:41 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
[[email protected] ~]# systemctl stop sendmail.service
[[email protected] ~]# systemctl disable sendmail.service
2 安装邮件发送工具mailx:
[[email protected] ~]# yum install mailx
3 配置Zabbix服务端外部邮箱:
下面的语句可以追加到配置文件的最后:
[[email protected] ~]# vim /etc/mail.rc
set from=ze9@sina.com smtp=smtp.sina.com
set smtp-auth-user=ze9@sina.com smtp-auth-password=19sssss
set smtp-auth=login
from:发送邮件的地址
smtp:外部smtp服务器地址
smtp-auth-user:外部smtp服务器认证的用户名
smtp-auth-password:外部smtp服务器认证的用户密码
smtp-auth:邮件认证的方式,
4 测试:
[[email protected] ~]# echo "a" | mail -s "b" [email protected]
其中a为内容,b为标题。
5 配置Zabbix服务器邮件报警:
5.1 配置报警介质:
打开zabbix的管理------处理方法----create media type:
我用的是脚本发邮件的方式来报警的,脚本名字为mail.sh。脚本存放位置,在zabbix_server.conf配置文件中设置:AlertScriptsPath=/usr/lib/zabbix/alertscripts
[[email protected] alertscripts]# vim mail.sh
#!/bin/bash
/usr/bin/echo "$3" | /usr/bin/mail -s "$2" $1
5.2 设置报警用户:
我直接使用了已存在的管理员组,然后在其中添加用户。
5.3 设置报警动作:
打开zabbix的系统配置---操作---- 选择事件源为触发器------create action:
触发条件设置:
详细操作设置,即满足触发条件之后执行什么动作,这里一般设置为发邮件之类的,设置收邮件的用户(建议每个组对应一个用户,这样发邮件的时候容易设置发送对象):
至此,邮件报警已经设置完成。