报警监控平台之设计url回调webhook管理系统

前言:

       关于监控方面的回调,国内也有一些第三方的厂商在用,比如dnspod的url回调和监控宝的url回调!

       webhook,gitlab是有个webhook,可以做自动测试。 

       曾经写过一调度系统,调用监控宝的多点监控,联合dnspod的api接口可以轻松的做到故障转移….    可以处理当ip-A的web死掉的时候,dns记录切换到ip-B上。 当然这只是个小应用罢了。 

       所谓的URL回调功能,您可以让告警通知发送到您指定的URL,使你能更加灵活处理告警消息。 打个比方,有个服务器的nginx进程死掉了,这个时候nagios监控到了这个情况,然后调用了我这边的接口,我这边接到的post数据,不仅发邮件,而且会根据注册事件的情况,进行处理。 如果注册了一个远程nginx重启的事项,我这边就远程paramiko或者是saltstack过去重启该进程 !!! 

关于监控回调的文章,原文地址   http://xiaorui.cc/?p=1867

报警监控平台之设计url回调webhook管理系统_第1张图片

       我在新公司其实还有个场景可以用到,我们 的分布式爬虫各个组件都打成了docker,如果爬虫的队列太多,要超出redis的内存限制之前,就要动态的部署计算节点,用docker-py api  。 则会时候也特别的适用回调通知。

 

 

报警监控平台之设计url回调webhook管理系统_第2张图片

 

怎么个灵活法:

        每个业务部门其实都想自己统计error情况,但是监控平台一般是在基础监控部门手里掌控者,不是很容易就能看到的。 这时候回调是个好方法。我会把每次告警的信息不仅推到你的mail和手机上,而且调用你给出的url地址做webhook。你服务端验证了我带着token的url,会有相应的措施,比如调用saltsatck客户端来进行处理,又或者进行业务逻辑动态的调整,或者各种数据的报表统计,总之根据我给的监控信息做自动化处理 。 

 

关于触发式的处理:

只是个人的想法而已 ~

       

 

      还需要做的事情是,回调的过滤,还有就是执行的逻辑越简单越好,不过滤的话,可能因为种种原因会造成大量的回调通知。 

 

 

下面是我写的支持url回调的监控平台,开发语言是python,用到的框架tornado。

 

第一版的时候,没有定义post的方式,仅仅支持get请求。

报警监控平台之设计url回调webhook管理系统_第3张图片

第二版做了,支持get和post的方式,以及返回结果的验证。

报警监控平台之设计url回调webhook管理系统_第4张图片

 

 

 我想说的是,现在好多公司的告警信息都没有做适当的统计,每天报警很是泛滥,还都随意的调用smtp发送邮件。个人觉得还是综合到一个管理系统下,管理系统更加直观。

 

refernce:

http://xiaorui.cc/2015/08/11/%E6%8A%A5%E8%AD%A6%E7%9B%91%E6%8E%A7%E5%B9%B3%E5%8F%B0%E4%B9%8B%E8%AE%BE%E8%AE%A1url%E5%9B%9E%E8%B0%83webhook%E7%AE%A1%E7%90%86%E5%8F%8A%E5%BA%94%E7%94%A8/?utm_source=tuicool

你可能感兴趣的:(python,uri,回调,tornado)