智能联动第三方告警中心,完美实现故障响应全闭环

news2024/12/22 23:56:21

前言

我们曾讨论完善的告警策略是整个数据监控系统的重要组成部分(参见《机智的告警策略,完善监控系统的重要一环》),介绍了如何配置告警通知以及场景示例,帮助用户及时更多潜在的故障和问题,有效地保障系统稳定运行和持续优化。为了实现故障发现、告警、处理的全闭环,我们可以利用 Webhook 或者本地 DataFlux Func 联动第三方告警响应中心,建立一个自动化的故障处理流程,提高系统的稳定性和可靠性。本文将介绍在观测云中如何配置 Webhook 和本地 DataFlux Func 连接第三方系统,从而发送告警通知到用户。

Webhook 自定义告警通知

当您需要通过 Webhook 自定义来配置告警通知对象时,可以在观测云的监控 > 通知对象管理 > 新建通知对象,选择 Webhook 自定义并填写 URL 地址。

告警通知细节

观测云的 HTTP 告警通知为【固定格式的 POST 请求】,请求体格式为application/json,您可以参考以下请求详情示例:

POST {填写的 Webhook 地址}
Content-Type: application/json

{
    "timestamp"               : 1625638440,
    "df_status"               : "warning",
    "df_event_id"             : "event-xxxxxxxxxx",
    "df_title"                : "web001 存在问题",
    "df_message"              : "web001 存在问题、nCPU 使用率大于 90\n 内存使用率大于 90",
    "df_dimension_tags"       : "{\"host\":\"web001\"}",
    "df_monitor_id"           : "monitor_xxxxxxxxxx",
    "df_monitor_name"         : "异常检测名",
    "df_monitor_checker_id"   : "rul_xxxxxxxxxx",
    "df_monitor_checker_name" : "异常检测项目名",
    "df_monitor_checker_value": "99",
    "df_event_link"           : "https://console.guance.com/keyevents/monitorChart?xxxxxxxxxx",
    "df_workspace_uuid"       : "wksp_xxxxxxxxxx",
    "df_workspace_name"       : "我的工作空间",
    "Result"                  : 99,
    "... 其他更多字段": "略",

    // 以下为旧版字段
    "date"          : 1625638440,
    "workspace_uuid": "wksp_xxxxxxxxxx",
    "workspace_name": "我的工作空间",
}

具体的字段说明,参见:事件 - 观测云文档
一般来说,对接第三方消息平台时,只需要用到 df_title 和 df_message 两个字段即可。

对接方式

观测云为您提供两种监控告警通知对象 「Webhook 自定义」的对接方式:直接对接和 DataFlux Func 中转对接。根据您的实际情况,您可以自由选择并配置。

直接对接

在观测云中,支持用户配置 Webhook 自定义告警通知对象,以便在发生异常事件告警时,向用户指定的 URL 发送 HTTP 请求,实现告警信息的的传递,以便用户能够及时对故障进行响应和处理。直接对接方式即在观测云监控 > 通知对象管理的「Webhook 自定义」中直接填写客户系统/第三方系统 URL,这样观测云就能够将异常事件请求详情直接发送到第三方系统的告警响应中心。需要注意的是,采用这种方式需要客户系统/第三方系统能够处理观测云发出的上述类型请求;否则需要以下方式 DataFlux Func 作为“接口转换器”对接客户系统或第三方系统。

DataFlux Func 中转对接

我们都知道 Webhook 在传递数据或通知时发出的请求是有固定格式的。因此,一旦客户系统或第三方系统无法满足观测云的「Webhook 自定义」方式发出的 HTTP 请求格式需求(即上文所述告警通知细节),如请求体为 XML、String 或其他格式,我们就需要 DataFlux Func 即观测云开发集成的一款集函数开发、管理、执行为一体的平台,只需简单配置及编辑脚本即可实现告警通知的对接。

所以,在观测云产生事件时,将自动向本地 DataFlux Func 的授权链接发送固定格式的 HTTP 请求,再由 DataFlux Func 中编写的脚本向第三方告警响应中心发送请求。这样,用户就可以有更多第三方系统的选择来自定义告警通知对象,让故障响应变的更加及时和便捷。

当然,采用这种方式不仅需要合适的网络环境,还需要您了解基础 Python 开发知识以及 DataFlux Func 的使用方法(参见:https://func.guance.com/doc/intro-guide/)。

实际场景示例

由于某用户告警短信平台的接受请求格式与观测云「Webhook 自定义」发出的 HTTP 请求格式不同,需要利用 DataFlux Func 中转对接来发送观测云监控器异常事件的告警通知到其告警短信平台。

假设用户的告警短信平台调用方式如下:

GET http://some-domain/send-sms?to=13000000000&msg=短信正文

那么,结合上文所述的「告警通知细节」的内容,即可写出以下脚本:

import requests

SMS_API = 'http://some-domain/send-sms'

@DFF.API('Webhook 对接')
def webhook_accept(**event):
    print(f'事件数据:{event}')

    params = {
        'to' : '13000000000',
        'msg': event.get('df_title') or '您在观测云有新事件',
    }
    r = requests.get(SMS_API, params=params, timeout=3)
    print(f'接口返回:{r.status_code} {r.text}')

    return r.status_code, r.text

在 DataFlux Func 完成脚本发布后,我们就可以在管理>授权链接中为函数添加授权链接。

创建授权链接后,在授权链接的「示例」中,复制「POST 简化形式请求」中的 URL 地址(以 /simplified 结尾)。

转到观测云 ,将 URL 地址填入通知对象管理中的「Webhook 自定义」即可。

完成以上操作,用户就可以在观测云产生事件时,及时收到告警通知。根据不同的等级的异常情况,快速响应并处理故障,有效的保障用户系统的稳定运行。

结语

Webhook 作为基于 HTTP 的回调函数,有效地实现服务器之间的实时数据传输和通知。在观测云中,您不仅可以直接设置「Webhook 自定义」通知对象,也结合观测云开发集成的 DataFlux Func,快速实现与第三方告警响应中心的联动,避免错过重要异常情况信息,从而实现故障发现、告警和处理的全闭环,帮助企业将系统动荡遏制在摇篮里!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1283078.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

值班日历实现不同人显示不同的颜色区别

前端UI用的移动端的vantUI。这里只是我的思路总结&#xff0c;和用什么UI框架关系不大。 先看效果图&#xff1a; <van-calendarref"calendar":poppable"false":show-confirm"false":style"{ height: 580px }":min-date"minD…

11.一维字符数组——求字符串长度, 占内存字节数

文章目录 前言一、题目描述 二、题目分析 三、解题 程序运行代码 前言 本系列为一维字符数组编程题&#xff0c;点滴成长&#xff0c;一起逆袭。 一、题目描述 求字符串长度&#xff0c; 占内存字节数 二、题目分析 求字符串长度 法一&#xff1a; while(str[i]!‘\0’){ i…

webview2 runtime 安装错误 0x800700b7

最简单的一种是删除C:\Program Files (x86)\Microsoft文件夹&#xff0c;一般情况下&#xff0c;这个文件夹是空的&#xff0c;但在系统目录下&#xff0c;不允许删除&#xff0c;可以选中获取下管理员权限&#xff0c;或是用第三方软件&#xff0c;直接强制删除。 删除之后就…

分享88个焦点幻灯JS特效,总有一款适合您

分享88个焦点幻灯JS特效&#xff0c;总有一款适合您 88个焦点幻灯JS特效下载链接&#xff1a;https://pan.baidu.com/s/1geIPx77y5OCJvLaECq9upQ?pwd6666 提取码&#xff1a;6666 Python采集代码下载链接&#xff1a;采集代码.zip - 蓝奏云 学习知识费力气&#xff0c;…

【JavaEE】单例模式

作者主页&#xff1a;paper jie_博客 本文作者&#xff1a;大家好&#xff0c;我是paper jie&#xff0c;感谢你阅读本文&#xff0c;欢迎一建三连哦。 本文于《JavaEE》专栏&#xff0c;本专栏是针对于大学生&#xff0c;编程小白精心打造的。笔者用重金(时间和精力)打造&…

Java基本数据类型、包装类及拆装箱详解

Java的基本数据类型和对应的包装类是Java语言中处理数据的两个关键概念。基本数据类型提供了简单而高效的方式来存储数据&#xff0c;而包装类使得基本数据类型具有对象的特性。本文将深入探讨基本数据类型与包装类的应用场景及详细描述&#xff0c;并对自动拆箱和装箱的源码实…

【信息安全】MD5哈希函数

1. MD5介绍 MD5&#xff08;Message Digest Algorithm 5&#xff09;是一种常见的哈希函数&#xff0c;通常用于产生数据的数字摘要&#xff0c;也称为哈希值或摘要值。它是由Ron Rivest在1991年设计的&#xff0c;广泛用于数据完整性验证、密码存储、数字签名等领域。 MD5哈…

HTML CSS JavaScript的网页设计

一、网页界面效果&#xff1a; 二、HTML代码&#xff1a; <!DOCTYPE html> <!-- 声明文档类型--> <html lang"en"> …

如何定位当生产环境CPU飙升的时候的问题

其他系列文章导航 Java基础合集数据结构与算法合集 设计模式合集 多线程合集 分布式合集 ES合集 文章目录 其他系列文章导航 文章目录 前言 一、排查思路 二、预防CPU飙升 三、总结 前言 在当今的信息化时代&#xff0c;计算机系统在各行各业都发挥着重要的作用。然而&a…

Java中实用的策略模式【Strategy】

一、简介 我们知道Java中有许多的设计模式&#xff0c;总共32个左右。常见的比如简单工厂、建造者、原型、代理、桥接等&#xff0c;这些设计模式相当于是一个规范&#xff0c;主要是总结出来便于大家理解开发的一种算法思路。 今天主要是给大家介绍一下我们常见的策略模式&a…

自动化框架错误排查:本地全通过,pipline上大部分报错

现象: 最近经过一次切环境和验证码部分的代码重构,果不其然,我们的自动化框架就出错了 我在本地修改调试,并在堡垒机上全部跑过 但在pipline上则大部分报错 进一步排查 这么多case报错,而且报错log都一模一样,推断是底层出错 我在堡垒机上使用命令行来跑case,发现与…

【深度学习】Stable Diffusion中的Hires. fix是什么?Hires. fix原理

文章目录 **Hires. fix****Extra noise**Upscalers Hires. fix https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/Features#hires-fix 提供了一个方便的选项&#xff0c;可以部分地以较低分辨率呈现图像&#xff0c;然后将其放大&#xff0c;最后在高分辨率下添…

day69

今日回顾 Django与Ajax 一、什么是Ajax AJAX&#xff08;Asynchronous Javascript And XML&#xff09;翻译成中文就是“异步Javascript和XML”。即使用Javascript语言与服务器进行异步交互&#xff0c;传输的数据为XML&#xff08;当然&#xff0c;传输的数据不只是XML,现在…

羊大师教你如何有效应对冬季流感,保护自己与家人

羊大师教你如何有效应对冬季流感&#xff0c;保护自己与家人 随着冬季的临近&#xff0c;流感病毒将再次蔓延。如何预防冬季流感来袭&#xff0c;成为了许多人关注的话题。幸运的是&#xff0c;我们可以采取一系列的预防措施来保护自己和家人&#xff0c;避免被流感侵袭。下面…

技术or管理?浅谈软件测试人员的未来职业发展,值得借鉴

我们在工作了一段时间之后&#xff0c;势必会感觉到自己已经积累了一些工作经验了&#xff0c;会开始考虑下一阶段的职业生涯会如何发展。测试人员在职业生涯中的不确定因素还是不少的&#xff0c;由于其入门门槛不高&#xff0c;不用学习太多技术性知识即可入行&#xff0c;所…

聚焦数据库Serverless创新,就在2023亚马逊云科技re:Invent

11月28日&#xff0c;亚马逊云科技在其最新的re:Invent 2023大会上宣布了三项重要的serverless创新&#xff0c;这些创新将极大地简化客户在任何规模上分析和管理数据的能力。以下是这些发布的主要要点总结和分析。 Amazon Aurora Limitless Database的新功能&#xff1a; 功能…

MS85163实时时钟/日历可Pin to Pin兼容PCF8563

MS85163/MS85163M是一款CMOS实时时钟(RTC) 和日历电路&#xff0c;针对低功耗进行了优化&#xff0c;内置了可编程的时钟输出、中断输出和低电压检测器。可Pin to Pin兼容PCF8563。所有寄存器地址和数据都通过两线双向I 2C总线进行串行传输&#xff0c;最大总线传输速度为 400k…

软件测试:测试用例八大要素模板

一、通用测试用例八要素 1、用例编号&#xff1b; 2、测试项目&#xff1b; 3、测试标题&#xff1b; 4、重要级别&#xff1b; 5、预置条件&#xff1b; 6、测试输入&#xff1b; 7、操作步骤&#xff1b; 8、预期输出 二、具体分析通用测试用例八要素 1、用例编号 一般是数字…

让业务带着问题去分析,用大数据分析工具

随着企业数字化转型进程的加快&#xff0c;企业大数据分析的需求也水涨船高&#xff0c;不少企业都在尝试上线BI大数据分析工具&#xff0c;让各业务人员带着业务问题去分析数据&#xff0c;获取解决问题的数据信息。而各高校也在搭建大数据分析教学平台&#xff0c;与时俱进提…