、安装邮件发送工具mailx

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

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

wget 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 #编译(如果这里编译失败可能是要下载补丁哦

下载补丁   wget http://www.linuxfromscratch.org/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=[email protected]  这里和下面的smtp-auth-user一致 

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

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

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

set smtp-auth=login

:wq! #保存退出

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

#测试发送邮件,标题zabbix,邮件内容:zabbix test mail,发送到的邮箱:[email protected]

#这时候,邮箱[email protected]会收到来自[email protected]的测试邮件


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

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

(1)创建Media types

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

zabbix邮箱通知

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

type:script(脚本)

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


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

Administration-user-Admin (Zabbix Administrator)


zabbix邮箱通知

点击admin进去后选择media标签

zabbix邮箱通知


然后点击add--add --save

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

如下图:

zabbix邮箱通知

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

zabbix邮箱通知

然后选择conditions标签:

zabbix邮箱通知

zabbix邮箱通知


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

zabbix邮箱通知


zabbix邮箱通知

(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

查看[email protected]邮箱,会收到报警邮件

再开启Zabbix客户端服务

service zabbix_agentd start

查看[email protected]邮箱,会收到恢复邮件

相关文章:

  • 2021-09-28
  • 2021-05-04
  • 2021-05-18
  • 2021-05-19
  • 2021-12-21
  • 2021-05-19
  • 2021-06-27
  • 2022-01-01
猜你喜欢
  • 2022-02-09
  • 2021-11-13
  • 2021-12-21
  • 2021-12-21
  • 2021-08-26
  • 2021-11-17
  • 2021-12-21
相关资源
相似解决方案