需要自己申请一个微信企业号

创建应用

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+微信企业号报警的更多相关文章

  1. Zabbix 微信监控报警

    Zabbix-Server 设置 # 使脚本目录生效 [root@zabbix ~]# grep 'script' /etc/zabbix/zabbix_server.conf # AlertScri ...

  2. 通过微信企业号发送zabbix报警

    采用微信报警时,管理员账户中必须要设置"示警媒体"一项,"收件人"一项可随便填写一下.其它成员则可以不用添加设置. ---------------------- ...

  3. zabbix之微信告警(python版):微信个人报警,微信企业号告警脚本

    微信个人告警脚本 微信个人告警:使用个人微信,发送到微信群组,微信好友 两个脚本执行: 1)能连接网络2)先执行server.py,扫描登录微信,登录之后没有报错,打开新终端查看端口是否起来了3)在z ...

  4. zabbix 微信报警

    http://blog.csdn.net/wh211212/article/details/52735236 Zabbix可以通过多种方式把告警信息发送到指定人,常用的有邮件,短信报警方式,但是越来越 ...

  5. Zabbix 微信报警Python版(带监控项波动图片)

    #!/usr/bin/python # -*- coding: UTF- -*- #Function: 微信报警python版(带波动图) #Environment: python import ur ...

  6. Zabbix微信报警触发

    (1)         企业应用-创建应用 1.除了对个人添加微信报警之外,还可以添加不同管理组,接受同一个应用推送的消息, 成员账号,组织部门ID,应用Agent ID,CorpID和Secret, ...

  7. 通过脚本发送zabbix微信报警

    实现zabbix通过微信报警的方式也是通过脚本来实现,与邮件报警不同的是,脚本调用的微信的相关接口的获取相对复杂一点 1.申请一个微信公众号(企业号) 申请方法不多说,如果已申请请忽略 2.在微信企业 ...

  8. (五)zabbix微信报警

    1.注册微信企业号 1)注册微信企业号 https://work.weixin.qq.com 2)通讯录添加用户 3)记住部门id 4)创建应用 5)点击刚创建的应用,记住Agentld和secret ...

  9. zabbix 定义触发器,并使用邮件,微信消息报警。

    触发器可根据监控项获取到的值来进行一些操作,如监控项获取到的values为0,触发器可判断为正常,如果获取到了1,就触发报警. 定义报警方式比较简单,但是用shell脚本实现起来,总是有格式问题,所以 ...

随机推荐

  1. Beta阶段第五次会议

    Beta阶段第五次会议 时间:2020.5.21 完成工作 姓名 工作 难度 完成度 ltx 1.对小程序进行修改和美化新增页面(新增60行) 中 85% xyq 1.编写技术博客 中 85% xtl ...

  2. 零基础入门c语言函数之递归函数

    今天来总结一下关于递归函数的使用方面的问题. 递归函数就是在函数使用的时候自己调用自己,层层调用,来实现你想要的功能. 有两个最常用的例子,我们来写一下. (1)计算阶乘 #include int f ...

  3. 零基础入门必备的Linux命令和C语言基础

    文件和目录(底部有视频资料) cd /home 进入 '/ home' 目录' cd - 返回上一级目录 cd -/- 返回上两级目录 cd 进入个人的主目录 cd ~user1 进入个人的主目录 c ...

  4. VMware Workstation 16.2 Pro for Linux SLIC 2.6 & Unlocker

    请访问原文链接:https://sysin.org/blog/vmware-workstation-16-linux-slic/,查看最新版.原创作品,转载请保留出处. 作者:gc(at)sysin. ...

  5. 重新整理 .net core 实践篇——— filter[四十四]

    前言 简单介绍一下filter 正文 filter 的种类,微软文档中写道: 每种筛选器类型都在筛选器管道中的不同阶段执行: 授权筛选器最先运行,用于确定是否已针对请求为用户授权. 如果请求未获授权, ...

  6. SpringBoot之MultipartFile文件上传(6)

    1.静态文件 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <ti ...

  7. mongodb安装教程(一)

    版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/fengtingYan/article/de ...

  8. fabric运行错误汇总

    Error generating signCA for org org1.example.com: Failed storing key [ECDSAP256]: Failed storing ECD ...

  9. Mysql - 整数类型的存储字节数和范围

    MySQL 整数类型的存储字节数和范围 type 存储字节数 有符号最小值 无符号最小值 有符号最大值 无符号最大值 TINYINT 1 -128 0 127 255 SMALLINT 2 -3276 ...

  10. windows 下 redis服务经常自动关闭

    记一次线上服务器redis 经常掉线的问题 环境: windows service 2019, redis, java8, 由于服务器资源有限, 项目的数据库oracle, 缓存数据库redis和we ...