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

创建应用

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端添加报警媒介和动作就行,媒介选执行脚本的方式,并确定自己要发给企业微信里面的谁

或者直接发送给到哪个组

最终结果:

最新文章

  1. Selenium WebDriver 3.0 需要注意的事项
  2. C#高级编程笔记 2016年10月8日运算符和类型强制转换
  3. nullcon HackIM 2016 -- Programming Question 5
  4. 扩展XAF模型信息实现自定义功能
  5. 2013年 蓝桥杯预赛 java 本科A 题目
  6. ASP.NET 将数据生成PDF (二)
  7. 【Delphi】最小化事件捕捉
  8. HDOJ2023求平均成绩
  9. iOS改变图片尺寸
  10. 前端--关于客户端javascript
  11. jquery 高亮
  12. JAVA多线程---ThreadLocal&lt;E&gt;
  13. Oracle积累
  14. nginx负载均衡指令least_conn的真正含义
  15. MapReduce实例——求平均值,所得结果无法写出到文件的错误原因及解决方案
  16. BZOJ.4145.[AMPPZ2014]The Prices(状压DP)
  17. Pycharm 消除波浪线
  18. css 底层知识点
  19. java 开发环境配置 安装 MyEclipse
  20. 远程连接阿里云的mysql数据库

热门文章

  1. 2021.8.8考试总结[NOIP模拟33]
  2. 如何优雅的处理 accept 出现 EMFILE 的问题
  3. fd定时器--timerfd学习
  4. linked-list-cycle leetcode C++
  5. word-ladder leetcoder C++
  6. #ifndef #define #endif #ifdef 避免重复引用
  7. ansible模块及语法
  8. ESP32-IDF安装并在VSCode上编译Hello World
  9. 解决虚拟机linux系统全屏问题
  10. webpack 之 一个简单的基本生产环境配置