网站首页 > 教程文章 正文
现在人们都离不开微信,用微信来进行报警的话,时效性会更高一些,不会出现发邮件报警但是没看到的尴尬情况。故而本节说一下如何实现微信报警:
工具:企业微信
需要注意的是我们要实现在微信报警的功能,需要我们先注册一个企业微信,企业微信是可以个人免费注册的,然后在企业微信添加相关人员,而后关注你的企业微信,之后就可以在微信中看到报警提示了。
以上即实现该功能的大致思路,此报警和上一小节中的邮件报警操作类似,不同的是使用的报警工具不同,那么就意味着我们的脚本配置信息也有不同,具体来看实现过程吧:
PS:在企业微信中一共需要获取三个值:
企业ID、agentid、Secret、成员账号
我们接下来看看这些信息如何获取
1、申请企业微信,官网地址如下:
https://work.weixin.qq.com
在这里进行申请即可,这里就不操作了,挺简单的,注册完毕之后的界面如下:
2、创建应用,获取Secret参数
应用管理 --> 创建应用
next:
上图中的红色框内的信息都属于必填项,需要将信息设置好;
将信息设置好之后,点击“创建应用”,如下图:
而后跳转到如下界面,我们需要在如下界面获取agentid和secret的值:
我们将获取到的参数信息,记录下来;
3、获取企业ID
我的企业 --> 企业信息
在最下面可以看到我们的企业ID,将此信息记录下来;
4、获取欲接受报警提醒成员的账号名称
通信录
可以在这里添加成员,以及查看某一个成员的账号,点击对应的名字,进入如下界面:
在这里我们记录下企业微信成员账号;
5、让用户关注你的企业微信
我的企业 --> 微信插件
往下面划,可以看到一个二维码,用微信扫描这个二维码即可关注你的企业微信:
这个时候你的微信账号就可以接受企业微信的信息了;
6、zabbix_server端新增python脚本
在以下脚本中需要更改三个参数的值:
agentid:你新建应用完毕之后弹出框中显示的agentid
corpid:你的企业ID
corpsecret:你新建应用完毕之后弹出框中显示的Secret
[root@bogon ~]# cd /home/zabbix/share/zabbix/alertscripts
[root@bogon alertscripts]# touch weixin.py
[root@bogon alertscripts]# vim weixin.py
#!/usr/bin/python
# -*- coding: utf-8 -*-
import json
import sys
import urllib,urllib2
agentid = 'XXXXXXXX'
corpid = 'XXXXXXXXXXXXXXXXXX'
corpsecret = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
#get tocken
gettoken_url = 'https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=' + corpid + '&corpsecret=' + corpsecret
token_file = urllib2.urlopen(gettoken_url)
token_data = token_file.read().decode('utf-8')
token_json = json.loads(token_data)
my_token = token_json['access_token']
#send wechart
touser=sys.argv[1] #many user: 'zhangsan|wangwu'
content=sys.argv[2] #content
post_content = {
"touser":touser,
"agentid":agentid,
"msgtype": "text",
"text":{
"content":content,
}
}
json_content = json.dumps(post_content)
url = 'https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=' + my_token
response = urllib2.urlopen(url,json_content)
print(response.read().decode('utf-8'))
保存退出
7、测试一下
需要配置上最上面说的获取到的企业微信成员的账号名
[root@bogon alertscripts]# python weixin.py '成员账户名' '微信报警测试'
结果如下:
看一下微信是否收到了报警:
微信报警实现了,接下来就是在zabbix进行注册了,这些就简单了,总体流程和上一小节中的邮件报警一样;
当然了,别忘记最后给这个脚本添加可执行权限:
[root@bogon alertscripts]# chmod +x weixin.py
[root@bogon alertscripts]# ll
总用量 8
-rwxr-xr-x. 1 root root 656 2月 23 02:01 email_qq.py
-rwxr-xr-x. 1 root root 944 2月 23 03:33 weixin.py
[root@bogon alertscripts]#
8、zabbix仪表板界面
PS:以下界面我会省略解释的过程,因为和上一小节的内容类似,没看明白的同学可以返回看一下上一小节;
点击 “管理” --> “报警媒介类型”
将我们上一节配置的 “python_send_email_qq” 这个禁用,之后界面如下:
7、添加报警媒介
记忆好的同学可以发现,我们在实现邮件报警的过程中添加了三个脚本参数,为什么这里只添加了两个呢?
那是因为发送邮件的时候我们需要配置:收件人,邮件主题,邮件内容;
而我们的微信报警只需要配置两个参数:收件人,报警内容;
8、给用户配置报警媒介
管理 --> 用户
PS:要记得将上一小节中配置的报警媒介类型,也就是发送邮件进行删除;之后再进行新的报警媒介类型添加
而后点击更新按钮,最后界面如下:
9、设置触发器的动作
配置 --> 动作
PS:将上小节中的 “send_email_qq” 进行禁用,而后再次添加:
next:
next:
next:
next:
而后点击 “添加” 按钮,最后界面如下:
10、验证一下准确性
停止我们的测试机 192.168.20.129 的8080端口
而后看一下仪表板:
由上图可见,已经监测到了端口被关闭,这个时候我们看下个人微信,是否收到了提示:
微信已经收到了报警,之后我们将 192.168.20.129 的8080端口再次运行起来:
由上图可见,我们微信也进行了恢复提示,如下图:
好的,本节内容到此为止,关于报警的内容还有两小节:
1、报警内容自定义和报警抑制
2、使用钉钉进行报警
继续加油~~~
猜你喜欢
- 2025-05-14 alma8飞速搭建zabbix6、微信报警、windows、linux、交换机监控
- 2025-05-14 0基础上手python、PHP编程,域自助服务台,自助改密解锁等功能
- 2025-05-14 完整的企业微信 API 接口调用教程:快速调用
- 2025-05-14 说说我为什么开始放弃 Spring Framework
- 2025-05-14 如何利用企业微信做一个免费发送微信消息的站点
- 2025-05-14 低代码开发,快速对接钉钉报价审批功能
- 2025-05-14 一小时学会用Python开发微信AI机器人:从零到企业级应用实战
- 2025-05-14 有成CRM无代码集成连接解决方案
- 2025-05-14 一文看懂企业微信开发简易教程
- 2025-05-14 企业微信开发平台接入流程
- 最近发表
-
- 绝区零:公测必看!300菲林兑换码、萌新补给一览!切勿踩坑!
- 事半功倍 轻松制作可交互移动原型
- LOL英雄联盟美服注册教材 教你玩转美服
- 「正点原子Linux连载」第五十八章Linux INPUT子系统实验(一)
- 如何轻松薅Cursor羊毛:用免手机号邮箱快速注册
- C/C++基础语法复习(一):C++与C语言的区别,主要有这些
- 永久免费的高配容器Clawcloud,超爽体验!
- Spaceship低价注册域名 | 每年5元不到 | XYZ域名 | 托管cloudflare
- 云杉网络DeepFlow基于Free5GC的方案示例
- alma8飞速搭建zabbix6、微信报警、windows、linux、交换机监控
- 标签列表
-
- location.href (44)
- document.ready (36)
- git checkout -b (34)
- 跃点数 (35)
- 阿里云镜像地址 (33)
- qt qmessagebox (36)
- md5 sha1 (32)
- mybatis plus page (35)
- semaphore 使用详解 (32)
- update from 语句 (32)
- vue @scroll (38)
- 堆栈区别 (33)
- 在线子域名爆破 (32)
- 什么是容器 (33)
- sha1 md5 (33)
- navicat导出数据 (34)
- 阿里云acp考试 (33)
- 阿里云 nacos (34)
- redhat官网下载镜像 (36)
- srs服务器 (33)
- pico开发者 (33)
- https的端口号 (34)
- vscode更改主题 (35)
- 阿里云资源池 (34)
- os.path.join (33)