zabbix添加邮件报警配置

1、关闭自带的postfix
2、下载sendmail并启动

yum -y install sendmail
 systemctl status sendmail
 systemctl start sendmail

3、下载mailx

yum -y install mailx

4、修改mailx配置文件,在末尾添加如下信息:

vim /etc/mail.rc    
set from=daxingqi@163.com #注册的个人邮箱,用于zabbi服务端转发邮件到指>定邮箱
set smtp=smtps://smtp.163.com:465  #填写发送邮箱服务器地址smtp
set smtp-auth-user=daxingqi@163.com      #个人邮箱用户
set smtp-auth-password=XXESOYVNOUU      #第三方授权码
set smtp-auth=login
set ssl-verify=ignore
set nss-config-dir=/etc/zabbix/.certs

问题:could not connect: Connection timed out “/root/dead.letter” 11/318 . . . message not sent. 分析:阿里云服务器关闭了25端口,发送邮件连接不上服务器的缘故,而且官方不允许打开该端口

解决链接:https://blog.csdn.net/qq_42859864/article/details/84862977
解决
①请求数字证书
依次完成以下命令

mkdir -p /root/.certs/                           ####创建目录,用来存放证书
echo -n | openssl s_client -connect smtp.163.com:465 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > ~/.certs/163.crt                    ####向163请求证书
certutil -A -n "GeoTrust SSL CA" -t "C,," -d ~/.certs -i ~/.certs/163.crt                  ####添加一个SSL证书到证书数据库中
certutil -A -n "GeoTrust Global CA" -t "C,," -d ~/.certs -i ~/.certs/163.crt               ####添加一个Global 证书到证书数据库中
certutil -L -d /root/.certs                         ####列出目录下证书

②配置发件人:修改配置文件

vi /etc/mail.rc
set from=daxingqi@163.com #注册的个人邮箱,用于zabbi服务端转发邮件到指定邮箱
set smtp=smtps://smtp.163.com:465  #填写发送邮箱服务器地址smtp
set smtp-auth-user=daxingqi@163.com      #个人邮箱用户
set smtp-auth-password=XXESOYVNOUUJB      #第三方授权密码
set smtp-auth=login
set ssl-verify=ignore    #ssl认证方式
set nss-config-dir=/root/.certs

测试:echo “test” |mail -s “zabbix” daxingqi@163.com
如果报以下错误说明证书不被信任:
Error in certificate: Peer’s certificate issuer is not recognized. smtp-server: 535 Error: authentication failed “/root/dead.letter” 11/306 . . . message not sent.
解决:

cd /root/.certs/
ll
certutil -A -n "GeoTrust SSL CA - G3" -t "Pu,Pu,Pu" -d ./ -i 163.crt 

重新发送邮件测试
echo “test” |mail -s “test linux” daxingqi@163.com
通过
5、写邮件发送脚本

cd /etc/zabbix/scripts
vim sendmail.sh
#!/bin/bash
file=/tmp/zabbix_mail.txt
echo "$3" > $file
dos2unix -k $file
/bin/mail -s "$2" $1 < $file
# echo "$3" | mail -s "$2" $1 #如果发送邮件完全是英文的,可以只使用这一条

备注:$3 是前端定义的邮件内容,$2是前端定义的标题,$1是前端定义的收件人
6、使用dos2unix工具是为解决zabbix发送邮件出现乱码和收到的邮件是*.bin的情况。

yum install dos2unix -y

7、①web端配置
名称:自定义   类型:脚本      脚本名称:zabbix_server配置文件中位置对应的脚本名称
名称:自定义
类型:脚本
脚本名称:zabbix_server配置文件中位置对应的脚本名称
脚本参数:固定格式
②配置用户,选择admin用户
在这里插入图片描述
添加报警媒介
在这里插入图片描述
创建报警动作,配置----动作----创建动作----新建动作
在这里插入图片描述
在这里插入图片描述
Problem started at {EVENT.TIME} on {EVENT.DATE}
Problem name: {TRIGGER.NAME}
Host: {HOST.NAME}
Severity: {TRIGGER.SEVERITY}

Original problem ID: {EVENT.ID}
{TRIGGER.URL}
添加恢复操作
在这里插入图片描述
添加确认操作:
在这里插入图片描述
遇到问题:
1、测试时用的是root账号,可以正常发送邮件。配置完成后,测试显示的邮件已送达,事实上,邮箱中没有收到任何邮件。
原因:web端配置时用的账号是zabbix账号,服务器中zabbix没有权限
解决:修改.cert目录权限,使zabbix用户拥有读写执行权限

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
配置 Zabbix邮件通知,需要按照以下步骤进行操作: 1. 在 Zabbix Web 界面中,进入“管理”->“报警媒介类型”页面,点击“创建媒介类型”按钮,填写相关信息,如下图所示: ![创建媒介类型](https://img-blog.csdn.net/20180807113925410?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NhbmdoYWlfbW9vaw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70) 其中,关键字可以填写任何内容,类型选择“Email”。 2. 在“管理”->“用户组”页面,编辑需要接收邮件通知的用户组,将“报警媒介”中的“Email”勾选上。 3. 在“管理”->“用户”页面,编辑需要接收邮件通知的用户,添加“Email”媒介,填写邮箱地址。 4. 在“配置”->“动作”页面,创建需要发送邮件通知的动作,如下图所示: ![创建动作](https://img-blog.csdn.net/20180807114310337?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NhbmdoYWlfbW9vaw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70) 其中,“默认操作”可以根据需要进行修改,关联的触发器需要选择相应的触发器。 5. 在“配置”->“报警媒介”页面,编辑“Email”媒介,填写 SMTP 服务器、SMTP 端口、发件人邮箱、发件人名称、SMTP 用户名和 SMTP 密码等信息。 6. 在“配置”->“维护期”页面,可以设置维护期,防止在维护期间发送不必要的邮件通知。 完成以上步骤后,即可通过 Zabbix 发送邮件通知了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值