nihaogirl 发表于 2018-1-1 09:51:19

Zabbix邮件报警设置方法

  实现目的:
  
在Zabbix服务端设置邮件报警,当被监控主机宕机或者达到触发器预设值时,会自动发送报警邮件到指定邮箱。
  具体操作:
  
以下操作在Zabbix监控服务端进行
  
备注:Zabbix监控服务端
  
操作系统:CentOS
  
主机名:localhost.localdomain
  邮件报警有两种情况:
  
1、Zabbix服务端只是单纯的发送报警邮件到指定邮箱,发送报警邮件的这个邮箱账号是Zabbix服务端的本地邮箱账号(例如:root@localhost.localdomain),只能发送,不能接收外部邮件。
  
(zabbix服务端 → 指定邮箱)
  2、使用一个可以在互联网上正常收发邮件的邮箱账号(例如:xxx@163.com),通过在Zabbix服务端中设置,使其能够发送报警邮件到指定邮箱。
  
(zabbix服务端指定一个发件邮箱:发件邮箱 → 指定邮箱)
  第一种:使用Zabbix服务端本地邮箱账号发送邮件
  一、安装sendmail或者postfix
  

yum install sendmail #安装  
service sendmail start #启动
  
chkconfig sendmail on #设置开机启动
  

  或者安装
  

yum install postfix  
service postfix start
  
chkconfig postfix on
  

  sendmail和postfix只需要安装一个即可并开启服务即可。
  二、安装邮件发送工具mailx
  yum install mailx #安装
  
CentOS 5.x 编译安装mailx,直接yum安装的mailx版本太旧,使用外部邮件发送会有问题。(如果mailx版本太旧)
  
yum remove mailx #卸载系统自带的旧版mailx
  下载mailx:(如果太旧再编译安装新的版本)
  mailx -V #查看版本信息
  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 #查看版本信息
  
echo "zabbix test mail" |mail -s "zabbix" xxx@163.com
  

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

  三、配置Zabbix服务端邮件报警
  1、打开Zabbix

  管理-示警媒介类型-Email

  名称:Email
  
类型:电子邮件
  
SMTP 服务器:zabbix.sa.huanqiu.com
  
SMTP HELO:zabbix.sa.huanqiu.com
  
SMTP电邮:zabbix@zabbix.sa.huanqiu.com
  
已经用:勾选
  备注:zabbix.sa.huanqiu.com为Zabbix监控端主机名称,建议修改,否则使用默认的localhost.localdomain发送邮件会被当做垃圾邮件拦截。
  2、设置Zabbix用户报警邮箱地址
  配置-用户-Admin (Zabbix Administrator)

  切换到示警媒介

  添加

  类型:Email
  
收件人:xxx@163.com
  
其他默认即可,也可以根据需要设置
  
状态:已启用
  3、设置Zabbix触发报警的动作
  配置-动作-创建动作







  四、测试Zabbix报警
  关闭Zabbix客户端服务
  
service zabbix_agentd stop
  查看xxx@163.com邮箱,会收到报警邮件
  第二种:使用外部邮箱账号发送报警邮件设置(目前还没成功配置)
  一、关闭sendmail或者postfix
  

service sendmail stop #关闭  
chkconfig sendmail off #禁止开机启动
  
service postfix stop
  
chkconfig postfix off
  

  备注:
  
使用外部邮箱账号时,不需要启动sendmail或者postfix
  
如果在sendmail或者postfix启动的同时使用外部邮箱发送报警邮件,首先会读取外部邮箱
  
配置信息。
  二、安装邮件发送工具mailx (如果没有安装,或版本太旧)
  mailx -V #查看版本信息
  yum install mailx #安装
  
CentOS 5.x 编译安装mailx,直接yum安装的mailx版本太旧,使用外部邮件发送会有问题。
  
yum remove mailx #卸载系统自带的旧版mailx
  下载mailx:
  
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 #查看安装路径
  三、配置Zabbix服务端外部邮箱
  

vim/etc/mail.rc #编辑,添加以下信息  
set from=xxx@163.com smtp=smtp.163.com
  
set smtp-auth-user=xxx@163.com smtp-auth-password=123456
  
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的测试邮件
  
页: [1]
查看完整版本: Zabbix邮件报警设置方法