Zabbix —— 配置邮箱报警

———— 前言:

基于上篇博客,将进一步讲解 zabbix如何结合邮箱,进行报警提醒。

在zabbix的使用中,最重要的一点就是完善的报警机制,作为监控平台,需要时刻关注机器和服务的运行状态,更重要的是发现故障之后需要及时的报警给相关人员,早点发现问题,将隐患消除在未然阶段。这样才能保证服务的稳定运行。报警的方式是多种多样的,微信、短信和邮件报警是我们比较常见的方式。

实现步骤:

1、在 zabbix服务端配置邮件发送脚本和修改 zabbix服务端配置文件;

2、在 zabbix前端控制台进行相关设置。

实现目的:

Zabbix 监控服务器设置邮件报警,当被监控主机宕机或达到触发器预设值进,会自动发送报警邮件到指定的邮箱。

———— 部署开始:

在监控端操作:

//安装邮箱服务功能:
[root@localhost ~]# yum install mailx -y

//修改配置文件:
[root@localhost ~]# vi /etc/mail.rc
注意:网易邮箱需要开启客户端授权码进行第三方登录
[root@localhost ~]# vi /etc/mail.rc
在文件末尾添加:
set from=609810256@qq.com
set smtp=smtp.qq.com
set smtp-auth-user=609810256@qq.com
set smtp-auth-password=授权码  (QQ邮箱设置>>账户>>生成授权码)
set smtp-auth=login

echo "hello world" | mail -s "testmail" 609810256@qq.com

在这里插入图片描述

//编写发邮件脚本:
[root@localhost ~]# cd /usr/lib/zabbix/alertscripts

[root@localhost alertscripts]# vim mailx.sh
#!/bin/bash
#send mail

messages=`echo $3 | tr '\r\n' '\n'`
subject=`echo $2 | tr '\r\n' '\n'`
echo "${messages}" | mail -s "${subject}" $1 >>/tmp/mailx.log 2>&1


//创建日志,及赋权:
[root@localhost alertscripts]# touch /tmp/mailx.log
[root@localhost alertscripts]# chown -R zabbix.zabbix  /tmp/mailx.log
[root@localhost alertscripts]# chmod +x /usr/lib/zabbix/alertscripts/mailx.sh
[root@localhost alertscripts]# chown -R zabbix.zabbix /usr/lib/zabbix/


//测试发邮件脚本是否可以正常工作:
./mailx.sh 13951868284@139.com "主题" "内容"
例如:
[root@localhost alertscripts]# ./mailx.sh 609810256@qq.com "2020" "jiayou wuhan"

在这里插入图片描述
现在,邮箱收发机制测试是完全没有问题的。

—— 接下来,就开始在 web 界面开始部署了:

(1)步骤

1、管理 -----> 报警媒体类型 -----> 创建媒体类型 ----->

添加以下内容:

名称:Mail-Test
类型:脚本
脚本名称:mailx.sh
脚本参数://新增下面三个参数:

{ALERT.SENDTO}
{ALERT.SUBJECT}
{ALERT.MESSAGE}

在这里插入图片描述2、管理 -----> 用户 -----> 点击Admin -----> 报警媒介:

类型:Mail-Test //调用上面的脚本
收件人:609810256@qq.com
其它默认-添加

在这里插入图片描述
在这里插入图片描述
3、配置 -----> 动作 -----> 创建动作 -----> 删除默认标签,修改触发条件

名称:Mailx
条件 A 主机群组=Linux servers

在这里插入图片描述
4、操作 -----> 如下配置:

默认操作步骤持续时间 60
默认接收人 : {TRIGGER.STATUS}:{TRIGGER.NAME}
默认信息:

告警主机:{HOST.NAME}
告警  IP:{HOST.IP}
告警时间:{EVENT.DATE}-{EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息:{TRIGGER.NAME}:{ITEM.VALUE}
事件  ID:{EVENT.ID}

在这里插入图片描述
5、操作细节:

操作类型:发送消息
发送到用户:Admin (Zabbix Administrator) 
仅送到:Mail-Test  //一定要配置否则邮件发送不成功

在这里插入图片描述
点击添加后:
在这里插入图片描述
恢复操作做如下设置:

恢复操作:{TRIGGER.STATUS}:{TRIGGER.NAME}
恢复信息:

恢复主机:{HOST.NAME}
恢复IP:{HOST.IP}
恢复时间:{EVENT.DATE}-{EVENT.TIME}
恢复等级:{TRIGGER.SEVERITY}
恢复信息:{TRIGGER.NAME}:{ITEM.VALUE}
恢复  ID:{EVENT.ID}

//操作细节:
操作类型:发送消息
发送到用户:Admin (Zabbix Administrator) 
仅送到:Mail-Test  //一定要配置否则邮件发送不成功

在这里插入图片描述
至此,web界面操作定义都可以完成了

接着,需要重启一下服务:

systemctl restart zabbix-server
systemctl restart zabbix-agent.service

——— 测试:邮箱报警是否有效

(1)先在 web界面中,监控主机上模板中选择一个 Zabbix Agent 选项:
在这里插入图片描述
(2)然后,我们在被监控的主机上,手动关闭服务:

[root@localhost ~]# systemctl stop zabbix-agent.service

(3)稍微等一下,我的 qq邮箱就收到了报警邮件:
在这里插入图片描述

### Zabbix 邮件通知配置 #### 修改服务器配置文件 为了使Zabbix能够发送邮件通知,需编辑`zabbix_server.conf`文件来指定报警脚本路径以及外部脚本路径。这一步骤确保了当触发条件满足时,可以执行相应的脚本来实现邮件的通知功能[^2]。 ```bash vim /etc/zabbix/zabbix_server.conf AlertScriptsPath=/usr/lib/zabbix/alertscripts # 报警脚本路径 ExternalScripts=/usr/lib/zabbix/externalscripts # 外部脚本路径 ``` #### 创建邮件发送脚本 接着,在上述定义好的目录下创建用于实际发送电子邮件的具体Shell或其他编程语言编写的程序。此脚本应接受至少两个参数:收件人的地址和消息主体内容,并利用SMTP协议完成邮件投递操作。 对于简单的场景可以直接编写shell命令调用mail工具: ```bash #!/bin/bash # $1 is recipient email address, $2 is subject of the message and $3 contains body text. echo "$3" | mail -s "$2" "$1" ``` 更复杂的情况下可能涉及到Python等高级语言开发更为灵活可靠的解决方案。 #### 设置媒体类型 登录到Web界面下的管理板块中的“Media types”,点击右上角的“Create media type”。选择合适的名称并设定Type为Script;在Script name处填入之前所建立的那个自定义脚本的名字(不带扩展名)。保存更改以便稍后关联给具体的用户账号使用[^1]。 #### 添加动作(Action) 转至Configuration -> Actions菜单项,通过新建Action的方式定义何时何地向谁发出何种形式的消息提醒。这里要特别注意的是Conditions部分用来限定触发器的状态变化情况,Operations里面则指定了接收者及其联系方式——即前面提到过的media type设置。 #### 主机与代理通信准备 确认目标机器上的防火墙策略允许必要的网络连接请求进出,同时禁用SELinux以免其干扰正常的数据交换过程。另外还需保证各节点间可通过预设域名相互解析访问,通常做法是在每台计算机本地hosts表里添加对应记录[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值