zabbix邮箱告警的详细配置、安装邮件发送工具mailx

下载mailx:(安装的时候最好切到root用户,不然记得在编译安装过程中要记得加sudo,否则会有些权限的问题)

http://nchc.dl.sourceforge.net/project/heirloom/heirloom-mailx/12.4/mailx-12.4.tar.bz2

tar jxvf mailx-12.4.tar.bz2 #解压

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配置文件软连接

whereis mailx #查看安装路径

mailx -V #查看版本信息

二、配置Zabbix服务端外部邮箱              (注意一点比较容易出问题的一点:现在的邮箱大部分在其他客户端登陆需要用授权码去登陆,包括163 qq等,所以有的邮箱要用授权码登陆,例如163和QQ的邮箱不用授权码,在下面配置完测试的时候就会报535错误,一般情况下可以配置自己公司的邮箱)

vi /etc/mail.rc #编辑,添加以下信息

set from=xxx@163.com smtp=smtp.163.com

set smtp-auth-user=xxx@163.com smtp-auth-password=你的密码(现在很多邮箱要授权码-----看看是否需要填写授权码来代替密码)

set smtp-auth=login

:wq! #保存退出

echo "zabbix test mail" |mail -s "zabbix" yyy@163.com

#测试发送邮件,标题zabbix,邮件内容:zabbix test mail,发送到的邮箱:yyy@163.com

#这时候,邮箱yyy@163.com会收到来自xxx@163.com的测试邮件


三 然后登陆zabbix的web页面进行设置和创建邮件脚本:

(1)创建Media types

administration--》media types--》create media type--》:

zabbix邮箱告警的详细配置_zabbix邮箱告警的详细配置

name:sendmail   (给新建的mediatypes起个名字)

type:script(脚本)

script name(脚本名称):sendmail.sh (这个脚本我们在后面会创建,到时候有动作触发,要发邮件的时候就会去执行)


(2)给Zabbix用户配置报警邮箱地址

Administration-user-Admin (Zabbix Administrator)


zabbix邮箱告警的详细配置_zabbix邮箱告警的详细配置_02

点击admin进去后选择media标签

zabbix邮箱告警的详细配置_zabbix邮箱告警的详细配置_03


然后点击add--add --save

(3)设置zabbix触发报警动作(需要我们自定义一个action)

如下图:

zabbix邮箱告警的详细配置_zabbix邮箱告警的详细配置_04

然后输入一个action的名字 自己随意diy。

zabbix邮箱告警的详细配置_zabbix邮箱告警的详细配置_05

然后选择conditions标签:

zabbix邮箱告警的详细配置_zabbix邮箱告警的详细配置_06

zabbix邮箱告警的详细配置_zabbix邮箱告警的详细配置_07


然后回到conditions标签页面,点击add

zabbix邮箱告警的详细配置_zabbix邮箱告警的详细配置_08


zabbix邮箱告警的详细配置_zabbix邮箱告警的详细配置_09

(4)最后的最后我们要编写Zabbix服务端邮件发送脚本(就是我们前面选择的sendmailsh,这个我们现在创建)

cd /usr/lib/zabbix/alertscripts#进入脚本存放目录   (这里说的是ubantu的路径,centos存放发送邮件脚本的路径不在这里)

vi sendmail.sh #编辑,添加以下代码

#!/bin/sh

echo "$3" | mail -s "$2" $1

:wq! #保存退出

chown zabbix.zabbix /usr/lib/zabbix/alertscripts/sendmail.sh

#设置脚本所有者为zabbix用户

chmod +x /usr/lib/zabbix/alertscripts/sendmail.sh  或者chmod 777 /usr/lib/zabbix/alertscripts/sendmail.sh  所有的读写可执行权限都给了

#设置脚本执行权限

五、测试Zabbix报警

关闭Zabbix客户端服务

sudo /etc/init.d/zabbix-agent stop

查看xxx@163.com邮箱,会收到报警邮件

再开启Zabbix客户端服务

service zabbix_agentd start

查看xxx@163.com邮箱,会收到恢复邮件


转载:https://blog.csdn.net/ronnyjiang/article/details/51456972