`

报警监控平台之设计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


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

 

 

 

怎么个灵活法:

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

 

关于触发式的处理:

只是个人的想法而已 ~

       

 

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

 

 

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

 

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

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

 

 

 我想说的是,现在好多公司的告警信息都没有做适当的统计,每天报警很是泛滥,还都随意的调用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

分享到:
评论

相关推荐

    DNSPod 宕机监控 URL 回调 ASP 服务端示例

    URL 回调(Webhook)是 DNSPod 提供的一种高级特性,它允许用户自定义当监控到网站出现问题时的响应机制。在这个场景中,DNSPod 会向用户指定的 ASP(Active Server Pages)服务端发送一个 HTTP 请求,携带有关宕机...

    java实现企业微信回调配置案例

    回调配置主要是通过设置`Webhook`来实现,当企业微信服务器接收到特定事件时,会向我们设定的回调URL发送POST请求。 2. **注册回调URL** 首先,你需要在企业微信的企业管理后台注册一个回调URL,用于接收企业微信...

    prometheus-webhook-dingtalk-1.4.0告警插件一键部署

    Webhook 是一种 HTTP 回调机制,当特定事件发生时,服务端会向预先配置的 URL 发送 POST 请求,传递相关数据。在这里,Prometheus 使用 webhook 将告警信息推送到 DingTalk。 3. **DingTalk**: 钉钉是一款企业级...

    Laravel开发-laravel-webhook

    Laravel允许我们定义失败回调,比如将失败的webhook记录到日志,或者发送通知给开发者。 5. **队列处理**:由于webhook通常涉及关键业务逻辑,处理过程可能较耗时,因此建议将webhook的处理放入队列,以避免阻塞...

    钉钉的webhook插件

    Prometheus是一款强大的开源监控和警报解决方案,而钉钉是中国流行的办公协作平台,通过Webhook插件的连接,可以将Prometheus监控到的系统异常或性能指标直接推送到钉钉群,提升团队的故障响应速度。 Webhook是...

    Python-GitWebHook用于迅速搭建并使用WebHook进行自动化部署和运维系统

    在Python-GitWebHook中,Flask用于接收和解析来自Git平台的WebHook请求,并根据请求内容执行相应的回调函数。 在Python-GitWebHook项目中,`git-webhook-master`很可能是项目源代码的根目录。这个目录可能包含以下...

    webhook 什么是 webhook? Webhook 是一个 HTTP 请求,由源系统中的事件触发并发送到目标系统,通常带有

    简而言之,webhook 用于将一个系统中事件的发生传达给另一个系统,并且它们经常共享有关该事件的数据。然而,一个例子总是更容易说明,所以让我们看一个 webhook 的例子。 假设您订阅了流媒体服务。每个月初,您的信用卡...

    golang webhook源码和案例

    4. **config.yaml**或**config.json**: 可能存储了Webhook配置信息,如endpoint URL,验证密钥等。 5. **test**目录:包含单元测试用例,用于验证Webhook处理功能的正确性。 通过阅读这些源码,你可以了解到Golang...

    prometheus-webhook-dingtalk安装包.zip

    通过配置 Prometheus 的 Alertmanager,可以将生成的警报通过 Webhook 发送到 DingTalk,实现即时通知和警报管理。本资源提供了适用于不同架构的 Prometheus Webhook DingTalk 安装包,包括: Windows 版本:适用于 ...

    gitee码云上webhook的python代码

    Gitee是中国的一个开源代码托管平台,类似于GitHub,它提供了Webhook服务,允许用户在代码仓库发生特定事件(如提交、合并请求等)时,自动触发预定义的操作,例如自动化部署、持续集成等。 描述中提到的“不用安装...

    graylog的url报警方式.7z

    在IT监控和日志管理领域,Graylog是一个广泛使用的开源平台,它可以帮助用户收集、索引和分析大量的日志数据。本压缩包“graylog的url报警方式.7z”包含了一个关于如何利用Graylog设置URL报警的示例,通过这个示例,...

    Gitlab利用Webhook实现Push代码后的jenkins自动构建部署记录(个人珍藏版)

    本篇文章记录了Gitlab利用Webhook实现Push代码后的jenkins自动构建部署过程,本人线上实操手册。有需要的朋友,可以拿走。

    k8s-primetheus+kibana+alertmanager+webhook.zip

    当Alertmanager触发告警时,可以通过Webhook向自定义的HTTP端点发送POST请求,将告警信息传递给其他系统,如自动化运维工具、日志管理系统或客户服务系统。这允许团队根据自身需求构建高度定制化的告警响应流程。 ...

    GitHub-WebHook-master_github_webhook_githubphp网_clay7dm_webhookp

    Github Webhook Api PHP

    prometheus-webhook-dingtalk-0.3.0.linux-amd64.zip

    Prometheus 是一个开源的监控和警报系统,广泛应用于现代云原生环境。"prometheus-webhook-dingtalk-0.3.0.linux-amd64.zip" 是一个与 Prometheus 相关的软件包,它包含了将 Prometheus 警报发送到钉钉(DingTalk)...

    git webhook接收分发工具

    Git Webhook接收分发工具是一种基于Golang编写的程序,其主要功能是监听Git仓库的Webhook事件,当接收到推送通知时,该工具会自动拉取最新的代码更新,并将这些更新分发到用户指定的目录。这个工具对于团队协作和...

    Laravel开发-cdn-webhook

    在Laravel框架中,CDN(内容分发网络)Webhook是一种常见的技术,用于提高网站性能,通过将静态资源如JavaScript、CSS、图片等托管在CDN上,从而实现快速的全球分发。Webhook是一种由服务器主动推送事件到订阅者...

    webhook-demo-java

    为了防止 webhook 接收接口被第三方恶意攻击,用户在开发回调接口时,建议对回调请求进行签名校验,以确保回调请求来源来自于简道云。 获取 POST 请求体 body 内容,序列化为计算签名使用的 payload 获取请求参数中...

Global site tag (gtag.js) - Google Analytics