百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术教程 > 正文

zabbix监控-第三章-第二节 实现微信报警

suiw9 2024-11-16 00:33 30 浏览 0 评论

现在人们都离不开微信,用微信来进行报警的话,时效性会更高一些,不会出现发邮件报警但是没看到的尴尬情况。故而本节说一下如何实现微信报警:

工具:企业微信

需要注意的是我们要实现在微信报警的功能,需要我们先注册一个企业微信,企业微信是可以个人免费注册的,然后在企业微信添加相关人员,而后关注你的企业微信,之后就可以在微信中看到报警提示了。

以上即实现该功能的大致思路,此报警和上一小节中的邮件报警操作类似,不同的是使用的报警工具不同,那么就意味着我们的脚本配置信息也有不同,具体来看实现过程吧:

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、使用钉钉进行报警

继续加油~~~

相关推荐

俄罗斯的 HTTPS 也要被废了?(俄罗斯网站关闭)

发布该推文的ScottHelme是一名黑客,SecurityHeaders和ReportUri的创始人、Pluralsight作者、BBC常驻黑客。他表示,CAs现在似乎正在停止为俄罗斯域名颁发...

如何强制所有流量使用 HTTPS一网上用户

如何强制所有流量使用HTTPS一网上用户使用.htaccess强制流量到https的最常见方法可能是使用.htaccess重定向请求。.htaccess是一个简单的文本文件,简称为“.h...

https和http的区别(https和http有何区别)

“HTTPS和HTTP都是数据传输的应用层协议,区别在于HTTPS比HTTP安全”。区别在哪里,我们接着往下看:...

快码住!带你十分钟搞懂HTTP与HTTPS协议及请求的区别

什么是协议?网络协议是计算机之间为了实现网络通信从而达成的一种“约定”或“规则”,正是因为这个“规则”的存在,不同厂商的生产设备、及不同操作系统组成的计算机之间,才可以实现通信。简单来说,计算机与网络...

简述HTTPS工作原理(简述https原理,以及与http的区别)

https是在http协议的基础上加了一层SSL(由网景公司开发),加密由ssl实现,它的目的是为用户提供对网站服务器的身份认证(需要CA),以至于保护交换数据的隐私和完整性,原理如图示。1、客户端发...

21、HTTPS 有几次握手和挥手?HTTPS 的原理什么是(高薪 常问)

HTTPS是3次握手和4次挥手,和HTTP是一样的。HTTPS的原理...

一次安全可靠的通信——HTTPS原理

为什么HTTPS协议就比HTTP安全呢?一次安全可靠的通信应该包含什么东西呢,这篇文章我会尝试讲清楚这些细节。Alice与Bob的通信...

为什么有的网站没有使用https(为什么有的网站点不开)

有的网站没有使用HTTPS的原因可能涉及多个方面,以下是.com、.top域名的一些见解:服务器性能限制:HTTPS使用公钥加密和私钥解密技术,这要求服务器具备足够的计算能力来处理加解密操作。如果服务...

HTTPS是什么?加密原理和证书。SSL/TLS握手过程

秘钥的产生过程非对称加密...

图解HTTPS「转」(图解http 完整版 彩色版 pdf)

我们都知道HTTPS能够加密信息,以免敏感信息被第三方获取。所以很多银行网站或电子邮箱等等安全级别较高的服务都会采用HTTPS协议。...

HTTP 和 HTTPS 有何不同?一文带你全面了解

随着互联网时代的高速发展,Web服务器和客户端之间的安全通信需求也越来越高。HTTP和HTTPS是两种广泛使用的Web通信协议。本文将介绍HTTP和HTTPS的区别,并探讨为什么HTTPS已成为We...

HTTP与HTTPS的区别,详细介绍(http与https有什么区别)

HTTP与HTTPS介绍超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息,HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的...

一文让你轻松掌握 HTTPS(https详解)

一文让你轻松掌握HTTPS原文作者:UC国际研发泽原写在最前:欢迎你来到“UC国际技术”公众号,我们将为大家提供与客户端、服务端、算法、测试、数据、前端等相关的高质量技术文章,不限于原创与翻译。...

如何在Spring Boot应用程序上启用HTTPS?

HTTPS是HTTP的安全版本,旨在提供传输层安全性(TLS)[安全套接字层(SSL)的后继产品],这是地址栏中的挂锁图标,用于在Web服务器和浏览器之间建立加密连接。HTTPS加密每个数据包以安全方...

一文彻底搞明白Http以及Https(http0)

早期以信息发布为主的Web1.0时代,HTTP已可以满足绝大部分需要。证书费用、服务器的计算资源都比较昂贵,作为HTTP安全扩展的HTTPS,通常只应用在登录、交易等少数环境中。但随着越来越多的重要...

取消回复欢迎 发表评论: