admin管理员组

文章数量:1663656

、安装邮件发送工具mailx

这里小编的服务器环境是:Linux Ret Hat 6.4 (红帽子企业级 Linux 6.4 代号 Santiago)

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

wget http://nchc.dl.sourceforge/project/heirloom/heirloom-mailx/12.4/mailx-12.4.tar.bz2  #下载

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

cd mailx-12.4 #进入目录

make #编译(如果这里编译失败可能是要下载补丁哦

下载补丁   wget http://www.linuxfromscratch/patches/blfs/7.6/mailx-12.4-openssl_1.0.0_build_fix-1.patch

补丁命令   patch -Np1 -i mailx-12.4-openssl_1.0.0_build_fix-1.patch 

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  这里和下面的smtp-auth-user一致 

smtp=smtp.163           建议用  163的邮箱发,qq邮箱有点问题

set smtp-auth-user=xxx@163         (企业和个人邮箱的服务器地址不同,不要搞混了)

smtp-auth-password=你的密码(现在很多邮箱要授权码-----看看是否需要填写授权码来代替密码)163的授权码是自己设置的(自己百度下什么生成授权码)

set smtp-auth=login

:wq! #保存退出

echo "zabbix test mail" |mail -s "zabbix" yyy@163         如果没有报错  而且你是qq邮箱,没有收到测试邮件    请进入qq邮箱首页  点最最下面的!  自助查询---收件查询 是否被拦截,如果是,就把它加入白名单   , 还有  -s   后面的参数一定不能写  "test"  。

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

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


三 安装好服务端和客户端后登陆zabbix的web页面进行设置和创建邮件脚本:

安装zabbix服务端和客户端请看:http://www.jb51/article/95786.htm

(1)创建Media types

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

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

type:script(脚本)

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


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

Administration-user-Admin (Zabbix Administrator)



点击admin进去后选择media标签



然后点击add--add --save

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

如下图:

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


然后选择conditions标签:



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



(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  所有的读写可执行权限都给了 (这里路径写你自己的)


最后一定要记得 !!!

系统自带postfix停止

如果您好用外部邮件,必须停止postfix

# /etc/init.d/postfix status

# /etc/init.d/postfix start

# /etc/init.d/postfix stop

## chkconfig postfix off

编辑你的zabbix 安装目录    zabbix_server.conf配置

打开alertscripts脚本屏蔽,并写上绝对路径

AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts   (加上这句,这里写你自己安装路径)

这个路径是sendmail.sh的路径保存退出后,记得重启zabbix_server服务



#设置脚本执行权限

五、测试Zabbix报警

关闭Zabbix客户端服务  (关闭客户端后要等5分钟,zabbix没链接上客户端的才会发邮箱报警,,亲身经历)

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

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

再开启Zabbix客户端服务

service zabbix_agentd start

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

本文标签: 邮箱通知zabbix