原先也做过zabbix邮件告警,但是一直都没成功,最近公司正在部署zabbix监控系统,需要邮件系统告警,于是就出现可爬坑的路程。
使用163邮箱发送告警信息
1.安装邮件发送工具mailx
a.关闭服务器中其他自带的邮件服务
service sendmail stop #关闭服务
service postfix stop
chkconfig sendmail off #关闭自启动
chkconfig postfix off
将防火墙的25端口打开:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 25 -j ACCEPT
b.下载软件:
http://nchc.dl.sourceforge.net/project/heirloom/heirloom-mailx/12.4/mailx-12.4.tar.bz2
c.解压安装:
tar xf mailx-12.4.tar.bz2 && cd mailx-12.4 && make
坑一:
造成的原因是12.4需要打一个补丁。
解决方法:
1)下载包:wget http://www.linuxfromscratch.org/patches/blfs/7.6/mailx-12.4-openssl_1.0.0_build_fix-1.patch)
2)将包移动到mailx12.4目录下:mv mailx-12.4-openssl_1.0.0_build_fix-1.patch mailx-12.4/
3)安装patch:yum install patch -y
d.再次安装:
cd mailx-12.4 && make
make install UCBINSTALL=/usr/bin/install
ln -s /usr/local/bin/mailx /bin/mail #创建mailx到mail的软连接
ln -s /etc/nail.rc /etc/mail.rc #创建mailx配置文件软连接
e.测试安装成功与否:
vim /etc/mail.rc
添加如下内容:
set from=abc@163.com #发送短信的邮箱地址,此处是从163邮箱发到163邮箱
set smtp=smtp.163.com #163邮箱smtp的地址
set smtp-auth-user=abcj@163.com #163邮箱的地址,接受邮件的地址
set smtp-auth-password=123456 #163邮箱的密码
set smtp-auth=login
测试:
效果图:
2.关于zabbix邮件页面设置:
a.报警媒介的类型设置:
b.告警媒介创建的实例:
c.创建完成的效果图:
d.创建邮件收件人信息:
e.创建触发动作:
配置----->动作---------->事件源:触发器------->创建动作
f.告警内容的设置:
具体内容:
默认接收人:{TRIGGER.NAME}:{TRIGGER.NAME}
默认信息:
警告主机: {HOST.NAME}
警告 ip: {HOST.IP}
警告时间: {EVENT.DATE}-{EVENT.TIME}
警告等级: {TRIGGER.SEVERITY}
警告信息: {TRIGGER.NAME}
问题详情: {ITEM.NAME}:{ITEM.VALUE}
事件 ID: {EVENT.ID}
g.添加用户:
h.动作生成效果:
3.脚本的编写:
a.查看zabbix服务端配置文件AlertScriptsPath 是否已经指定了,这里是指定zabbix程序调用脚本的目录,设置为:/usr/local/zabbix/share/zabbix/alertscripts
b在此目录下创建脚本:
如果服务器中没有dos2unix,需要安装:yum install dos2unix -y
chown zabbix.zabbix /usr/local/share/zabbix/alertscripts/sendmail.sh
chmod +x /usr/local/share/zabbix/alertscripts/sendmail.sh
4.测试发送邮件:
a.修改linux主机群组中的一台服务器http端口触发器的条件,使其触发。
b邮件内容: