zabbix 邮箱报警设置

zabbix 添加 邮件报警:

邮件报警  配置 有两块 :

1.  服务器邮件服务

2.  web端配置

他们中间 串联的仅仅 是一个“ 配置文件 中声明 的脚本路径”  +  一个“ 自动发送邮件的脚本 ”


一.邮件服务  (只要你能 往 外部邮箱正常发送邮件就可以,没其他特殊的要求)

本文采用 sendmail  +  heirloom-mailx    利用  163邮箱(工作用的邮箱)  往 qq邮箱发送报警   

1.  安装必备的软件

apt-get  install -y  sendmail

apt-get  install -y  heirloom-mailx

2. 修改配置文件

/etc/mail/sendmail.cf   

O DaemonPortOptions=Family=inet, Name=MTA-v4, Port=smtp, Addr=0.0.0.0     (默认只能本地回环,改为0.0.0.0可以往外网发)

如果不清楚 可以搜一下,网上文档很多

/etc/nail.rc   (添加用来做发送的 邮箱)

set [email protected] (邮箱)

set  smtp=smtp.ym.163.com

set  [email protected]  (邮箱账户)

set  smtp-auth-password=xxxx (邮箱密码)

set  smtp-auth=login

3. 测试   配置是否可用:

echo   123    |    mail    -s    123     [email protected]

可看一下  /var/mail/root  里是否 有 发送成功的log

如果你的qq邮箱没有收到消息 ,记得 去垃圾箱里看一下 ,也许是被定义为 垃圾邮件了

在 qq邮箱里  设置白名单 即可

4. 脚本 编写

首先 修改 /etc/zabbix/zabbix_server.conf 

AlertScriptsPath=/etc/zabbix/alertscripts  (跟随自己的喜好写)


到  应的目录下  创建脚本文件   sendmail.sh

这里 需要 安装   dos2unix   因为 跨文件系统  会导致 邮箱收到的永远附件 ,这里 的export LANG=en_US.UTF-8 和dos2unix  解决了此问题

cat  sendmail.sh

#!/bin/bash

export LANG=en_US.UTF-8

mailTmp=/etc/zabbix/alertscripts/mailTMP

echo "$3" >$mailTmp

to=$1

subject=$2

dos2unix -k $mailTmp

mail -s "$subject" "$to" < "$mailTmp"

这里涉及到权限的问题 , 添加文件执行权 以及 ugo 权限 (针对zabbix 用户,可能需要 自己建 zabbix家目录 并 修改  /etc/passwd 文件zabbix:x:106:114::/home/zabbix:/bin/bash )


然后对脚本进行测试

gosu zabbix bash sendmail.sh     [email protected]   "主题"   "内容"    (不懂gosu的可参照其他文档)


到这里  服务端 以及配置完毕了 ,如果 脚本测试是正常的,你的邮箱可以收到邮件,  那么 再往后 zabbix 告警 邮件 qq邮箱 不能收到就纯粹是web端的配置有问题了


二. web 配置

管理 ---报警媒介类型:   创建 媒体类型


zabbix 邮箱报警设置_第1张图片

  管理---用户群组:

为Zabbix administrators  添加 你主机组的 读写权


管理---用户: (这里就用admin了,也可以是自己建的 用户)

进入用户 -- 报警媒介--- 添加:

更新完是这样的界面:


zabbix 邮箱报警设置_第2张图片
zabbix 邮箱报警设置_第3张图片


配置动作: 创建动作

zabbix 邮箱报警设置_第4张图片


zabbix 邮箱报警设置_第5张图片

恢复操作和确认操作都是  和曹操 差不多的配置    添加 用户和组 即可


到这里配置就 结束了  ,  接下来 自己 建 触发器  触发 告警 看能不能收到邮件即可!!!

收不到,多半是web端 配置有问题 , 可从    报表--动作日志那里看    邮件日志

你可能感兴趣的:(zabbix 邮箱报警设置)