标签:监控/SQLServer/Windows
概述
本篇文章主要介绍如何配置zabbix借助外部邮件进行发送邮件报警,zabbix通过配置文件调用mailx来进行邮件的发送。在Centos6以上的版本默认已经安装了mailx。
一、配置mailx
1.查看当前系统是否已安装mailx
[root@localhost ~]# yum list installed mailx Loaded plugins: fastestmirror, refresh-packagekit, security Loading mirror speeds from cached hostfile * base: mirrors.aliyun.com * epel: ftp.cuhk.edu.hk * extras: mirrors.163.com * updates: mirrors.163.com Installed Packages mailx.x86_64 12.4-8.el6_6
可以看到当前我的系统已经安装了mailx 12.4版本。
2.设置163邮箱客户端授权
登入到163邮箱在“设置”-“客户端授权密码”-开启
在这里会要求你输入一个授权的登入密码,这个密码在下一步的配置mailx需要用到
3.配置mailx
vim /etc/mail.rc
set from=cmh@163.com smtp=smtp.163.com set smtp-auth-user=cmh@163.com smtp-auth-password=cmh set smtp-auth=login
我这里用的是163邮箱来发送邮件,cmh@163.com是163邮箱的登入用户,smtp-auth-password是第二步设置的密码。
4.测试是否可以正常发送邮件
echo "agent down" |mail -s "test mail" 123xxxxxxx@qq.com
二、配置zabbix
1.配置SendMail发送邮件脚本
mkdir /etc/zabbix/alertscripts cd /etc/zabbix/alertscripts vim sendmail
messages=`echo $3 | tr ' ' ' '` subject=`echo $2 | tr ' ' ' '` echo "${messages}" | mail -s "${subject}" $1 >>/tmp/sendmail.log 2>&1
授予脚本可执行权限
chown -R zabbix:zabbix /etc/zabbix/alertscripts
chmod u+x sendmail.sh
2.配置zabbix_server.conf
在zabbix_server.conf中添加
AlertScriptsPath=/etc/zabbix/alertscripts
3.创建media types
注意:这里的type选择Script;Script name的名称和前面创建的发送邮件脚本的名称保持一致
4.配置发送邮件用户
在用户选项里面Zabbix administrators组中点击admin用户,在用户的media属性里面创建右键的接收人和相应的安全级别
这里的type选项是刚才创建的媒介类型的名称,send to是接受邮件的用户
5.创建触发动作
在configuration-actions在创建触发后的执行操作
default subject:故障!!![{HOSTNAME1}]:{TRIGGER.NAME} recovery subject:已恢复!!![{HOSTNAME1}]:{TRIGGER.NAME} default message和recovery message都一样: 告警主机:{HOSTNAME1} 告警时间:{EVENT.DATE} {EVENT.TIME} 告警等级:{TRIGGER.SEVERITY} 告警信息:{TRIGGER.NAME} 告警项目:{TRIGGER.KEY1} 问题详情:{ITEM.NAME}:{ITEM.VALUE} 当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1} 事件ID:{EVENT.ID}
默认是1个小时内发送一次邮件通知,最小是60S
6.示例
接下来看一下监控主机无法ping通的邮件报警信息
总结
配置过程中需要注意脚本的名称和配置文件对应。
备注: 作者:pursuer.chen 博客:http://www.cnblogs.com/chenmh 本站点所有随笔都是原创,欢迎大家转载;但转载时必须注明文章来源,且在文章开头明显处给明链接。 《欢迎交流讨论》 |