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 from=xxxx@xxx.com (邮箱)

set  smtp=smtp.ym.163.com

set  smtp-auth-user=xxx@xxx.com  (邮箱账户)

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

set  smtp-auth=login

3. 测试   配置是否可用:

echo   123    |    mail    -s    123     xxxxx@qq.com

可看一下  /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     xxx@qq.com   "主题"   "内容"    (不懂gosu的可参照其他文档)


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


二. web 配置

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


  管理---用户群组:

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


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

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

更新完是这样的界面:



配置动作: 创建动作


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


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

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容