zabbix之微信告警(python版):微信个人报警,微信企业号告警脚本
微信个人告警脚本
微信个人告警:使用个人微信,发送到微信群组,微信好友
两个脚本执行:
1)能连接网络
2)先执行server.py,扫描登录微信,登录之后没有报错,打开新终端查看端口是否起来了
3)在zabbix上面添加报警媒介,将personsend.py 脚本添加进去
4)pip install wxpy wechat_sender -i https://pypi.douban.com/simple
-----------------------------------------------server.py
#-* coding:utf-8 from wechat_sender import * from wxpy import * import loggingimport sys defaultencoding = 'utf-8' if sys.getdefaultencoding() != defaultencoding:reload(sys)sys.setdefaultencoding(defaultencoding) bot = Bot(console_qr=True) group = bot.groups().search(unicode('微信测试'))[0] #group2 = bot.groups().search(unicode('ITstone'))[0] logging.basicConfig(level=logging.DEBUG) #group.send("接入成功!") #group2.send("接入成功!") print("微信登陆成功!进行监控报警功能!") print(group) listen(bot, token='test', receivers=[group],port=12222) #listen(bot, token='test2', receivers=[group2],port=15556)
-----------------------------------------------personsend.py
#!/usr/local/python/bin/python # -*- coding:UTF-8 -*- from wechat_sender import * import time import sys defaultencoding = 'utf-8' if sys.getdefaultencoding() != defaultencoding:reload(sys)sys.setdefaultencoding(defaultencoding) import ssl context = ssl._create_unverified_context() #sender = Sender(token='test2', receivers=unicode('ITstone'),port=15556) sender2 = Sender(token='test', receivers=unicode('微信测试'),port=15555) #设置微信群和监听端口 #while True: # time.sleep(10) # sender.send(message=time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time()))) # sender.send(message='测试数据'+time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time()))) messeges=sys.argv[2]+sys.argv[3] #sender.send(message=messeges) sender2.send(message=messeges)
微信企业号告警脚本
下面的这个微信脚本从网上拉取下来的,后面由于微信更新,修改了倒数第三行的值
import json import sys import simplejson reload(sys) sys.setdefaultencoding('utf-8') def gettoken(corpid,corpsecret):gettoken_url = 'https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=' + corpid + '&corpsecret=' + corpsecretprint gettoken_urltry:token_file = urllib2.urlopen(gettoken_url)except urllib2.HTTPError as e:print e.codeprint e.read().decode("utf8")sys.exit()token_data = token_file.read().decode('utf-8')token_json = json.loads(token_data)token_json.keys()token = token_json['access_token']return token def senddata(access_token,user,subject,content,itemid):send_url = 'https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=' + access_tokensend_values = {"touser":user, #企业号中的用户帐号,在zabbix用户Media中配置,如果配置不正常,将按部门发送。"toparty":"2", #企业号中的部门id。"msgtype":"text", #消息类型。"agentid":"1000002", #企业号中的应用id。"text":{"content":subject + '\n' + content},"safe":"0"}send_data = simplejson.dumps(send_values, ensure_ascii=False).encode('utf-8')send_request = urllib2.Request(send_url, send_data)response = json.loads(urllib2.urlopen(send_request).read())print str(response) if __name__ == '__main__':user = str(sys.argv[1]) #zabbix传过来的第一个参数subject = str(sys.argv[2]) #zabbix传过来的第二个参数content = str(sys.argv[3]) #zabbix传过来的第三个参数itemid=1corpid = 'ww22655492448f1e3b' #CorpID是企业号的标识 # corpsecret = 'e62ikstjInYq8vAp7mjDmQylO6DlA2a-CH86YpRxd38' #corpsecretSecret是管理组凭证密钥corpsecret='deH66xl3FZVFhcmKhGfnAHHIlXAOS_Nh76ODn7ZsmU4' #'这里填写应用对应的secret'accesstoken = gettoken(corpid,corpsecret)senddata(accesstoken,user,subject,content,itemid)
参考:
1)wechat_sender github主页
2)桑心病狂,试试把报警日志发到微信上
3)企业微信开发者文档
zabbix之微信告警(python版):微信个人报警,微信企业号告警脚本相关推荐
- 微信支付python版2.0_刷卡支付-翟东平-专题视频课程
微信支付python版2.0_刷卡支付-244人已学习 课程介绍 微信支付系列课程将讲解"刷卡支付"."扫码支付"."公众号支付&qu ...
- 微信java精简版低内存_微信精简版低内存apk-微信精简版2019下载v7.0.6 安卓版-腾牛安卓网...
微信精简版,去除繁杂的功能,保留最核心的微信通讯.公众号等功能,去除升级永保低内存运行,适合各类高旧手机,使用微信再也不会面临卡顿,内存占用太大等问题了. 版本特性: 1.去除升级 2.去除游戏等各种 ...
- 微信有鸿蒙版的的吗,微信鸿蒙版本下载-微信鸿蒙版本下载最新官方版 v7.0.20-游人手游网...
微信鸿蒙版本是一款让你可以尽情享受到无限聊天乐趣的综合软件,全新的界面体验感,让你每天的社交之中,都能轻松运用,每天都机会认识更多的人,加好友聊天的方式已经在你的内心深深扎入,当然还有一些比较特殊的朋 ...
- 微信7.0版本与旧版更新对比 新版微信7.0版更新了什么
微信7.0版本与旧版更新对比 新版微信7.0版更新了什么 微信发布了最新版微信7.0版本,变化比较大.微信7.0版更新了什么?微信7.0版本与旧版什么区别. 微信7.0版本更新了什么? 微信7.0版本 ...
- 适合编程初学者的开源项目:小游戏2048(微信小程序版)
目标 为编程初学者打造入门学习项目,使用各种主流编程语言来实现. 2048游戏规则 一共16个单元格,初始时由2或者4构成. 1.手指向一个方向滑动,所有格子会向那个方向运动. 2.相同数字的两个格子 ...
- 微信小程序版博客——开发汇总总结(附源码)
花了点时间陆陆续续,拼拼凑凑将我的小程序版博客搭建完了,这里做个简单的分享和总结. 整体效果 对于博客来说功能页面不是很多,且有些限制于后端服务(基于ghost博客提供的服务),相关样式可以参考截图或 ...
- 在zabbix中实现发送带有图片的邮件和微信告警
微信公众号:运维开发故事,作者:double冬 1 python实现在4.2版本zabbix发送带有图片的报警邮件 我们通常收到的报警,都是文字,是把动作中的消息内容当成了正文参数传给脚本,然后邮件或 ...
- 微信公众号推送课表及天气(事无巨细+JavaScript版+python版)
微信公众号推送课表及天气 22.10.16更新 我已经做出来更优秀的直接在聊天列表中推送的了! 请移步 企业微信推送 超强版! 基础 简介 作者:申也 个人网站:申也个人网站(www.dongshen ...
- python微信远程控制摄像头_【python版】利用微信远程控制你的电脑
============================================================================== 作者:xfkxfk 团队:F4ck Tea ...
最新文章
- [转载]jquery 消息插件--仿QQ消息弹出提醒
- git push 的符号笔有什么用_Git自救指南(一)——工欲善其事,必先利其器,基本概念概览...
- 小米MIX 4要来了?这硬件“堆”的也是没谁了 全是最新技术
- cesium 文本标注被遮挡_Cesium-知识点(Viewer)
- as 与 is 的区别
- flash代码_Flash如何处理常见的代码错误(AS3)(2)
- 电脑重装系统记事本打不开提示无法启动此应用程序怎么办
- Anaconda 最新版本的下载和安装
- 代理 傲澜智伴机器人_机器人厂家_智伴机器人代理,莆田智伴机器人,傲澜智伴机器人(查看)_一呼百应网...
- 资本为什么爱“吃面”?
- 修改 Mixamo 导出的动画名字
- 10.STC15W408AS单片机A/D转换器
- Google Earth Engine(GEE)填补缺失影像
- 爬取中国票房网的年度票房的电影票房数据
- 什么是TCP/IP UDP 详解
- Windows7旗舰版桌面整理
- 外星人游戏本哪一款好?追求完美体验首选X系列
- Windows版微信加密存储图片的解密工具GUI程序
- 学习React第三篇:在React组件上设置属性(PropTypes)
- 基础——DTE与DCE
热门文章
- sql和access中截取字符串的区别
- 十九、Android Activity初探
- ossec 学习二 (ossec -analogi安装)
- .Net中单元测试工具的比较(Moq, VS Fake, TypeMock)
- Log4j使用详解(log4j.XML格式)——整理
- Exchange 2013 合规性管理之日记规则
- js 数据类型和转化
- 暗夜ト星ノ冥土馆~ぷにゅぷりXX 汉化补丁
- Switcher ---Vista Areo 工具
- Cisco PT模拟实验(19) 路由器的NAT功能配置