毕业设计之zabbix+微信企业号报警
需要自己申请一个微信企业号
创建应用


AgentId
1000003
Secret
SOI8b20G96yUVM29K02-bP5N5o6dovwSF2RrDaXHJNg 企业ID(自己再企业信息里面看)
ww2cfb5ed7f795b600
这里使用python3所以,先升级:
安装依赖包yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel 现在源码包:
wget http://mirrors.sohu.com/python/3.6.6/Python-3.6.6.tgz
解压安装即可 需要进行下面的步骤:
备份原来的额版本
mv /usr/bin/python /usr/bin/python2.6 软连接
ln /usr/local/python3/bin/* /usr/bin/
可能之后使用yum的时候回出现错误
所以:
修改yum命令文件
vim /usr/bin/yum
[root@ansz.quan.bbs ~]$vim /usr/bin/yum #!/usr/bin/python2.6
改成python2.6所在的路径
编写报警脚本:
[root@ansz.quan.bbs alertscripts]$cat weixin.call.py
#!/usr/bin/python3
# -*- coding: utf-8 -*- import requests
import json
import sys
import os
import time # 企业号及应用相关信息
CORP_ID = 'ww2cfb5ed7f795b600'
CORP_SECRET = 'SOI8b20G96yUVM29K02-bP5N5o6dovwSF2RrDaXHJNg'
AGENT_ID = 1000003
# access_token 请求地址
ACCESS_TOKEN_REQUEST_URL = 'https://qyapi.weixin.qq.com/cgi-bin/gettoken'
# 发送应用消息请求地址
SEND_MESSAGES_REQUEST_URL = 'https://qyapi.weixin.qq.com/cgi-bin/message/send' # 获取 access_token
def get_access_token():
get_token_url = '{}?corpid={}&corpsecret={}'.format(ACCESS_TOKEN_REQUEST_URL,
CORP_ID,
CORP_SECRET)
r = requests.get(get_token_url).json()
access_token = r['access_token']
return access_token
# 发送应用消息
def main():
access_token = get_access_token()
i = 0
while i < 3:
try:
user = sys.argv[1]
#subject = sys.argv[2],微信报警中没作用,因为微信没有所谓的主题
message = sys.argv[3] send_message_url = '{}?access_token={}'.format(SEND_MESSAGES_REQUEST_URL,
access_token)
message_params = {#"touser": "QQQ",这个是发给特定的人,
"toparty": "2", #发给特定的组,这里是组id,发给全部人。一般与上一个不同时使用
"msgtype": "text",
"agentid": AGENT_ID,
"text": {"content": message},
"safe": 0
}
r = requests.post(send_message_url, json=message_params, timeout=5)
r = r.json()
if r['errmsg'] == 'ok':
break
else:
access_token = get_access_token()
except Exception as e:
print(e)
i += 1
time.sleep(2) if __name__ == '__main__':
main()
解析:
ACCESS_TOKEN_REQUEST_URL = 'https://qyapi.weixin.qq.com/cgi-bin/gettoken'
在下图可以知道




get_token_url = '{}?corpid={}&corpsecret={}'.format(ACCESS_TOKEN_REQUEST_URL,
CORP_ID,
CORP_SECRET)
格式很明显就知道是怎么样子了
https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=ww2cfb5ed7f795b600&corpsecret=SOI8b20G96yUVM29K02-bP5N5o6dovwSF2RrDaXHJNg

脚本中使用get去得到的是
{'errcode': 0, 'errmsg': 'ok', 'access_token': 'PJO2LhBqZu_FLCZSmmj-Us-XlHWADTaj3h5wmw5zjNlLaT3tU74OPRAVQy9YNCSfrvZhvC_fILbnQdBQ_AZ3faykLRdixkO7P35ihW4ct1OQix7R1Tp6DRoZdSo69d3u50X3WI1y_CnatAmPMspruEEsi6lsVlwpZa3KeXBohclEWRcvtRutAc9US2cCMeaJCkRTBveuKIvtczFoIBZLMg', 'expires_in': 7200}
# 发送应用消息请求地址
SEND_MESSAGES_REQUEST_URL =


web端添加报警媒介和动作就行,媒介选执行脚本的方式,并确定自己要发给企业微信里面的谁
或者直接发送给到哪个组
最终结果:

毕业设计之zabbix+微信企业号报警的更多相关文章
- Zabbix 微信监控报警
Zabbix-Server 设置 # 使脚本目录生效 [root@zabbix ~]# grep 'script' /etc/zabbix/zabbix_server.conf # AlertScri ...
- 通过微信企业号发送zabbix报警
采用微信报警时,管理员账户中必须要设置"示警媒体"一项,"收件人"一项可随便填写一下.其它成员则可以不用添加设置. ---------------------- ...
- zabbix之微信告警(python版):微信个人报警,微信企业号告警脚本
微信个人告警脚本 微信个人告警:使用个人微信,发送到微信群组,微信好友 两个脚本执行: 1)能连接网络2)先执行server.py,扫描登录微信,登录之后没有报错,打开新终端查看端口是否起来了3)在z ...
- zabbix 微信报警
http://blog.csdn.net/wh211212/article/details/52735236 Zabbix可以通过多种方式把告警信息发送到指定人,常用的有邮件,短信报警方式,但是越来越 ...
- Zabbix 微信报警Python版(带监控项波动图片)
#!/usr/bin/python # -*- coding: UTF- -*- #Function: 微信报警python版(带波动图) #Environment: python import ur ...
- Zabbix微信报警触发
(1) 企业应用-创建应用 1.除了对个人添加微信报警之外,还可以添加不同管理组,接受同一个应用推送的消息, 成员账号,组织部门ID,应用Agent ID,CorpID和Secret, ...
- 通过脚本发送zabbix微信报警
实现zabbix通过微信报警的方式也是通过脚本来实现,与邮件报警不同的是,脚本调用的微信的相关接口的获取相对复杂一点 1.申请一个微信公众号(企业号) 申请方法不多说,如果已申请请忽略 2.在微信企业 ...
- (五)zabbix微信报警
1.注册微信企业号 1)注册微信企业号 https://work.weixin.qq.com 2)通讯录添加用户 3)记住部门id 4)创建应用 5)点击刚创建的应用,记住Agentld和secret ...
- zabbix 定义触发器,并使用邮件,微信消息报警。
触发器可根据监控项获取到的值来进行一些操作,如监控项获取到的values为0,触发器可判断为正常,如果获取到了1,就触发报警. 定义报警方式比较简单,但是用shell脚本实现起来,总是有格式问题,所以 ...
随机推荐
- Beta阶段第五次会议
Beta阶段第五次会议 时间:2020.5.21 完成工作 姓名 工作 难度 完成度 ltx 1.对小程序进行修改和美化新增页面(新增60行) 中 85% xyq 1.编写技术博客 中 85% xtl ...
- 零基础入门c语言函数之递归函数
今天来总结一下关于递归函数的使用方面的问题. 递归函数就是在函数使用的时候自己调用自己,层层调用,来实现你想要的功能. 有两个最常用的例子,我们来写一下. (1)计算阶乘 #include int f ...
- 零基础入门必备的Linux命令和C语言基础
文件和目录(底部有视频资料) cd /home 进入 '/ home' 目录' cd - 返回上一级目录 cd -/- 返回上两级目录 cd 进入个人的主目录 cd ~user1 进入个人的主目录 c ...
- VMware Workstation 16.2 Pro for Linux SLIC 2.6 & Unlocker
请访问原文链接:https://sysin.org/blog/vmware-workstation-16-linux-slic/,查看最新版.原创作品,转载请保留出处. 作者:gc(at)sysin. ...
- 重新整理 .net core 实践篇——— filter[四十四]
前言 简单介绍一下filter 正文 filter 的种类,微软文档中写道: 每种筛选器类型都在筛选器管道中的不同阶段执行: 授权筛选器最先运行,用于确定是否已针对请求为用户授权. 如果请求未获授权, ...
- SpringBoot之MultipartFile文件上传(6)
1.静态文件 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <ti ...
- mongodb安装教程(一)
版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/fengtingYan/article/de ...
- fabric运行错误汇总
Error generating signCA for org org1.example.com: Failed storing key [ECDSAP256]: Failed storing ECD ...
- Mysql - 整数类型的存储字节数和范围
MySQL 整数类型的存储字节数和范围 type 存储字节数 有符号最小值 无符号最小值 有符号最大值 无符号最大值 TINYINT 1 -128 0 127 255 SMALLINT 2 -3276 ...
- windows 下 redis服务经常自动关闭
记一次线上服务器redis 经常掉线的问题 环境: windows service 2019, redis, java8, 由于服务器资源有限, 项目的数据库oracle, 缓存数据库redis和we ...
