一、邮件客户端以及脚本相关配置
1、安装sendmail
[root@localhost ~]# cd /usr/lib/zabbix/alertscripts
安装[root@localhost alertscripts]# yum install sendmail
启动[root@localhost alertscripts]# service sendmail start
设置开机启动[root@localhost alertscripts]# chkconfig sendmail on
2、安装邮件发送工具mailx
[root@localhost alertscripts]# yum install mailx -y
3、设置发送邮件的email,用于邮件发送
[root@localhost alertscripts]# vi /etc/mail.rc
配置发送帐号和密码
set from=11111111@qq.com
set smtp=smtp.qq.com
set smtp-auth-user=11111111@qq.com
set smtp-auth-password=11111111
set smtp-auth=login
注意:邮箱需要打开POP3服务,密码用授权码填写
发送邮件测试;测试是否能正常发送邮件。
[root@localhost alertscripts]# echo "这里是内容" | mail -s '这里是标题' 这里是邮箱.com
4.查看zabbix服务器发送脚本配置
进入zabbix的安装目录
[root@localhost ~]# cd /usr/lib/zabbix/alertscripts/
[root@localhost alertscripts]# vi /etc/zabbix/zabbix_server.conf
找到AlertScriptsPath选项,可以自定义位置;新增自定义的脚本位置 增加 AlertScriptsPath=/usr/local/zabbix/alertscripts
5.编写发送邮件脚本
安装dos2unix转换工具( 解决发出的邮件是附件格式的问题 )
[root@localhost alertscripts]# yum install dos2unix
修改邮件脚本
[root@localhost alertscripts]# vi sendmail.sh
修改邮件发送脚本内容:
#!/bin/bash
#export.UTF-8 #解决发送的中文变成了乱码的问题
FILE=/tmp/mailtmp.txt
echo "$3" >$FILE
dos2unix -k $FILE #解决了发送的邮件内容变成附件的问题
/bin/mail -s "$2" $1 < $FILE
创建临时文件并授权
[root@localhost alertscripts]# touch /tmp/mailtmp.txt
[root@localhost alertscripts]# chown zabbix.zabbix /tmp/mailtmp.txt
给脚本添加权限
[root@localhost alertscripts]# chmod 755 /usr/lib/zabbix/alertscripts/sendmail.sh
给日志添加权限
[root@localhost alertscripts]# chown zabbix.zabbix /tmp/sendmail.log
二、 配置web页面
1、创建媒体类型
管理–>报警媒介类型–>创建媒体类型
sendmail
sendmail.sh
{ALERT.SENDTO}
{ALERT.SUBJECT}
{ALERT.MESSAGE}
2、给用户添加报警媒介
此处以Admin用户为例 管理–>用户–>点击Admin –>报警媒介–>添加
3、创建动作
3.1配置–>动作–>Report problems to Zabbix administrators–>操作
问题警告: {TRIGGER.NAME}
告警主机:{HOSTNAME1}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}
默认的步骤是1-1,也即是从1开始到1结束。一旦故障发生,就是执行sendEmail.sh脚本发生报警邮件给Admin用户和zabbix administrator组。 假如故障持续了1个小时,它也只发送一次。如果改成1-0,0是表示不限制.无限发送间隔就是默认持续时间60秒。那么一个小时,就会发送60封邮件
3.2恢复操作
可在客户端关闭zabbix_agent测试是否可以正常收到邮件