当前位置: 移动技术网 > IT编程>脚本编程>Python > 用python写一个预警机器人(支持微信和钉钉)

用python写一个预警机器人(支持微信和钉钉)

2019年04月04日  | 移动技术网IT编程  | 我要评论

斗罗大陆快眼看书,通用搜索,秦宝牧业团购

背景

线上的系统在运行中,发生故障时怎么及时的通过手机通知到相关人员?当然这是个很简单的需求,现有的方法有很多,例如:

如果我们用的云产品,那么一般都会有配套对应的监控预警功能,根据需要配置一下即可,支持短信,邮箱通知。

如果我们已经搭建了一套运维监控系统,比如zabbix之类的,那么我们学会zabbix,然后配置也即可,支持短信,邮箱通知。

但如果我们希望有一个比较简单轻便,能灵活定制和快速实施的方法,又能同时支持微信和钉钉通知呢?以下就介绍这样一个基于python的简单方法,暂且起个名字叫robotprobe。

在开始之前,先定义两种对象,robotprobe将由这两种对象组成。

probe:探针,用于检查检测某项功能,某个指标是否正常,并包含预警相关规则配置。

robot:机器人,发生异常情况时,要发送通知的对象,这里特指微信机器人和钉钉机器人。


 

urlprobe


 

sqlprobe


 

其他

其他类型的probe则可以根据实际需要自由扩展实现。


 

wechatrobot


 

dingtalkrobot


 

微信vs钉钉

微信机器人基于wxpy实现,wxpy功能很丰富,基本微信上收发消息相关的功能都可以用它来实现,这篇文章有个挺好的使用示例,我们这里只用到发送消息的功能,微信虽然功能,但有个缺点就是用wxpy发消息(其实是网页版微信),账号有可能被封,另外新注册的微信号也是不能用的。

钉钉机器人基于dingtalkchatbot实现,优点就是官方默认提供机器人的功能,虽然发消息有限制,但一可以控制发消息的频率,二也可加多个机器人去分流,缺点就是只能发消息,不收消息,进而根据收到的消息做定制回复。


 

依赖

certifi==2019.3.9

chardet==3.0.4

dingtalkchatbot==1.3.0

future==0.17.1

idna==2.8

itchat==1.2.32

pymysql==0.9.3

pypng==0.0.19

pyqrcode==1.2.1

requests==2.21.0

requests-toolbelt==0.9.1

schedule==0.6.0

urllib3==1.24.1

wxpy==0.3.9.8

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网