zabbix配置故障报警媒介类型(Email、微信)

前言:

本次实验环境沿袭上一篇文章的内容:zabbix监控http、Nginx、Mysql

server1172.25.75.1zabbix-server、zabbix-agen、mysql
server2172.25.75.2zabbix-agent、http
server3172.25.75.3zabbix-agent、nginx

一、配置Email报警

1、web配置只允许Email报警

在这里插入图片描述
停用其他两个报警媒介。
在这里插入图片描述

2、在服务器端server1配置mail服务。(server1必须有网络)

环境:
在这里插入图片描述
下载mailx软件:

[root@server1 scripts]# yum install -y mailx
[root@server1 scripts]# yum install postfix-2.10.1-6.el7.x86_64 -y
[root@server1 scripts]# systemctl start postfix

测试邮件服务可用:

[root@server1 scripts]# mail root
Subject: test
hello
EOT
[root@server1 scripts]# mail
Heirloom Mail version 12.5 7/5/10.  Type ? for help.
"/var/spool/mail/root": 3 messages 3 new
>N  1 root                  Fri May 17 17:10  18/614   "test"
 N  2 root                  Fri May 17 17:10  18/590   "test"
 N  3 root                  Fri May 17 17:10  18/590   "test"
& 3
Message  3:
From root@server1.localdomain  Fri May 17 17:10:35 2019
Return-Path: <root@server1.localdomain>
X-Original-To: root
Delivered-To: root@server1.localdomain
Date: Fri, 17 May 2019 17:10:35 +0600
To: root@server1.localdomain
Subject: test
User-Agent: Heirloom mailx 12.5 7/5/10
Content-Type: text/plain; charset=us-ascii
From: root@server1.localdomain (root)
Status: R

hello

& q
Held 3 messages in /var/spool/mail/root
You have mail in /var/spool/mail/root

在这里插入图片描述
我们服务端的mail服务没有问题。此时注意,由我们的服务器发送的邮件的发件人为root@server1.localdomain

3、在web界面配置邮件

在这里插入图片描述
在这里插入图片描述
配置用户:
在这里插入图片描述
点击Admin
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
启动动作:

在这里插入图片描述

4、把zabbix@server1.localdomain添加进qq邮箱的白名单

在这里插入图片描述

5、测试

关闭server3的zabbix-agent服务,测试能否收到报警邮件。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
报警邮件发送成功!!!

二、使用OA接收报警信息(微信、邮件)

首先我们要有自己的帐号,可以注册试用完成实验。
注册地址:http://wiki.onealert.com/
在这里插入图片描述
在自己的个人中心配置邮箱、微信绑定。

1、在zabbix-server端配置

[root@server1 ~]# ls oneitsm_zabbix_release-1.2.0.tar.gz 
oneitsm_zabbix_release-1.2.0.tar.gz
[root@server1 ~]# tar zxf oneitsm_zabbix_release-1.2.0.tar.gz -C /usr/lib/zabbix/alertscripts/
[root@server1 ~]# cd /usr/lib/zabbix/alertscripts/
[root@server1 alertscripts]# ls
oneitsm
[root@server1 alertscripts]# cd oneitsm/
[root@server1 oneitsm]# ls
bin  logs  release  update
[root@server1 oneitsm]# cd bin/
[root@server1 bin]# ls
alert.sh  install.sh  log.sh  update.sh
[root@server1 bin]# ./install.sh 
./log.sh: line 6: /usr/lib/zabbix/alertscripts/oneitsm/bin/oneitsm.conf: No such file or directory
start to create config file...
缺少AppKey,请重新安装.

在这里插入图片描述
可以看到这里缺少AppKey无法安装,AppKey必须在网页上添加应用后才有。

在OA添加zabbix应用:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
重新在zabbix-server端配置:

在这里插入图片描述

2、在web界面添加报警媒介

在这里插入图片描述

3、在OA网站配置通知策略

在这里插入图片描述

4、测试

关闭server2的http服务。
在这里插入图片描述
效果:
在这里插入图片描述

### 配置 Zabbix 使用微信进行报警通知 #### 修改 `zabbix_server` 脚本路径配置 为了使 Zabbix 支持通过微信发送警报,需确认并设置 `AlertScriptsPath` 参数指向存放自定义告警脚本的目录。此参数通常位于 `/etc/zabbix/zabbix_server.conf` 文件内。 ```bash [root@z5 ~]# grep ^AlertScriptsPath /etc/zabbix/zabbix_server.conf AlertScriptsPath=/usr/lib/zabbix/alertscripts ``` 上述命令展示了如何查询当前设定的脚本存储位置[^1]。 #### 创建或编辑用于发送消息的企业微信机器人脚本 在指定的 `AlertScriptsPath` 下创建 Python 或 Shell 脚本来调用微信 API 实现消息推送功能。这里提供了一个简单的 Python 示例: ```python #!/usr/bin/env python3 import requests import json import sys def send_wechat_message(webhook_url, user, subject, message): headers = {'Content-Type': 'application/json'} data = { "msgtype": "text", "text": { "content": f"{subject}\n{message}", "mentioned_mobile_list":[user] } } response = requests.post(url=webhook_url, headers=headers, data=json.dumps(data)) if __name__ == "__main__": webhook_url = '<Your WebHook URL>' # 替换成实际的企业微信群聊机器人的WebHook地址 try: _, user, subject, *messages = sys.argv content = ' '.join(messages) send_wechat_message(webhook_url, user, subject, content) except Exception as e: print(f"Error occurred while sending WeChat notification: {e}") ``` 这段代码接受三个参数:接收者用户名、主题以及具体的消息内容,并将其构造成 JSON 请求体发送给企业微信API接口[^2]。 #### 设置合适的文件权限 考虑到安全性和兼容性问题,在执行此类外部程序时应确保其具有适当的操作权限。特别是当涉及到日志记录或其他可能影响系统的操作时,建议调整相关资源的所有权至运行 Zabbix 的用户账户下(通常是 `zabbix`),例如对于某些情况下产生的临时文件 `/tmp/weixin.log`: ```bash chown zabbix. /tmp/weixin.log ``` 这一步骤可以防止因权限不足而导致的通知失败情况发生[^4]。 #### 测试与验证 完成以上步骤之后,可以通过直接调用该脚本来初步检验整个流程是否正常工作: ```bash python weixin.py ZhangYi "测试" "人生苦短,我学Python!" ``` 其中 `"ZhangYi"` 是目标用户的 ID ,而后面两个字符串分别代表邮件的主题和正文部分[^3]。 最后,在 Zabbix UI 中添加新的媒体类型并将相应的动作关联起来即可正式启用这项特性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值