告警事件如何与 CMDB 打通附加更多元信息

news/2025/2/11 23:06:14/文章来源:https://www.cnblogs.com/ulricqin/p/18707405

告警事件产生之后,会带有一些 labels、annotations、description 等信息,有时这些信息不够规整需要二次处理,有时这些信息不够丰富需要附加更多信息,才方便 SRE 等 OnCall 人员快速定位、解决问题。具体应该如何做?本文会分享一些思路,希望对大家有所帮助。

需求场景举例

为了方便理解,我举几个场景例子:

  • 比如,告警事件中包含 product、service 两个标签,我们可以基于这俩标签拼接出 SOP 地址,方便 OnCall 人员快速查看操作手册;
  • 比如,告警事件中缺少 owner 信息,但是包含机器 IP,我们可以基于机器 IP 查询 CMDB,找到 owner 信息,附加到告警事件中;

思路

大体上,可以把事件的处理看作一个 Pipeline,包含两个重要 Action:Relabel 和 Enrichment,有两个位置适合配置 Action:告警规则那里(用于规则颗粒度的细粒度控制)和 OnCall 中心(一些相对通用的逻辑),下面我们展开说明。

告警规则

一个告警规则通常关联一个监控指标,在告警规则这个颗粒度,会有需求做一些细粒度的处理,比如某个告警规则生成的事件包含很多标签,有些标签想 Drop 掉,或者有些标签想拼接在一起变成一个新标签,都可以使用 Relabel Action 来实现。

下面是夜莺的告警规则中配置事件 relabel 的例子,这个 relabel 和 Prometheus 的 relabel 配置类似,都是基于标签的匹配、替换、删除等操作,只不过 Prometheus 中是对指标做 relabel,夜莺这里是对事件做 relabel:

夜莺告警规则relabel

除了在告警规则颗粒度配置一些事件处理逻辑,还有一些通用逻辑希望在更中心化的地方配置,比如在 OnCall 中心配置事件的处理逻辑。下面我以 Flashduty OnCall 产品举例,看看 Flashduty 的处理思路,供大家参考。

OnCall 中心

OnCall 中心可以对接各类监控系统,比如 Prometheus、Zabbix、Nightingale 等,接收到告警事件之后,会对事件进行一些处理,比如附加更多元信息、降噪、发送通知等。我们可以在 Flashduty 中创建一个上报监控事件的管道(称为 integration),然后在管道后面配置一些事件处理逻辑。整个架构示意图如下:

Flashduty事件处理示意图

Flashduty 中可以创建多个 integration(即刚刚提到的管道,在 Flashduty 中称为集成),然后给这个 integration 配置标签增强,目前支持提取标签、组合标签、映射标签、删除标签等操作。

Flashduty事件Pipeline

这样一来,只要发往这个 integration(管道)的告警事件,都会经过这个 Pipeline,对事件标签做统一处理。这几个标签操作都可以见名知义,只有映射标签稍微复杂一些,这里额外做一个说明。

映射标签

因为 Flashduty 是一个 SaaS 服务,无法直接访问公司内部的 CMDB,所以我们需要把 CMDB 中的映射数据导入 Flashduty,然后在 Flashduty 中配置映射规则即可。比如服务器 10.68.5.6 的负责人是 zhangsan,我们就可以根据机器信息查询到 zhangsan,然后把 zhangsan 附加到告警事件中。比如:

原始告警事件:

映射规则:

映射结果:

Callback 思路

如果告警引擎可以直接调用公司内部的 API,那么可以直接在告警引擎中配置 Callback,直接调用公司内部的 API,获取元信息,然后附加到告警事件中。这样的话就不需要管理、同步映射数据了。

如果你用过 Flashduty 的告警引擎,通过其 --help 参数就可以看到 -alerter.enrich 相关的配置,就是采用这个思路来做的。

结语

本文以夜莺和 Flashduty 举例,讲解了多种告警事件处理、Enrich 的思路,希望对大家有所帮助。如果你有更好的思路,欢迎留言讨论。夜莺和 Flashduty 的介绍信息如下,可以自行体验:

  • 夜莺:https://github.com/ccfos/nightingale
  • Flashduty:https://flashcat.cloud/product/flashduty/

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

deepseek基础篇--本地部署

官网:https://www.deepseek.com/ API文档:https://api-docs.deepseek.com/zh-cn/guides/reasoning_model 开放平台:https://platform.deepseek.com/usage 一、本地部署 本地安装Deepseek R1 Ollama本地安装Deepseek R1 模型 Ollama官网:https://ollama.com/ 打开官网,然后…

tabbar配置

tabbar在app.json中进行配置"tabBar": {"color": "#000000","selectedColor": "#000000","backgroundColor": "#000000","list": [{"pagePath": "pages/index/index",&q…

开放api接口平台:appid、appkey、appsecret 原创

转自:https://blog.51cto.com/u_14014612/5677760 开放api接口平台:appid、appkey、appsecret 原创 小波同学 2022-09-15 00:42:29 博主文章分类:日记本 文章标签 时间戳 客户端 数据 开放平台 开放api接口 文章分类 Java 后端开发 阅读数4314一、什么是appid、appkey、…

Pico 4 Enterprise(pico4企业版)玩转vrchat

下载PICOConnect-Oversea-release-signed.apk,使用数据线连接pico4e和电脑,直接将安装包上传到pico存储路径的安装包文件夹 到pico企业注册企业账号然后创建一个组织,组织随便起一个就行电话不用填 pico端打开设置,找到设备详情,连续点击8次版本号打开开发者选项,点开设置…

uni.createSelectorQuery()获取元素height获取不到或者与调试工具实际测量不一致

vue3使用 in() 支付宝小程序不支持 in(component),使用无效果import { getCurrentInstance } from vue; const instance = getCurrentInstance();const query = uni.createSelectorQuery().in(instance.proxy); query.select("#id").boundingClientRect((data) =&g…

1. Docker 的简介概述

1. Docker 的简介概述 @目录1. Docker 的简介概述2. Docker 的理念:3. 容器与虚拟机比较4. Docker应用场景5. 最后:为什么会有 Docker 出现: 假定你在开发一个项目,你使用的是一台笔记本电脑而且你的开发环境具有特定的配置,其他开发人员身处的配置也各不相同。这个开发的…

电脑光盘映像工具便携版BurnAware Professional v18.4.0

点击上方蓝字关注我 前言 BurnAware是一个非常厉害的光盘处理软件。它可以用来制作各种类型的光盘,比如存储数据的、启动电脑的、还有放电影和音乐的。不管是哪种规格的光盘,它都能搞定。而且,它还能处理光盘映像文件,比如ISO文件,你可以用它来刻录、复制或者创建这些文件…

第3章-布局

container: 容器🔥 理想的 WPF 窗口需要遵循以下几条重要原则❌ 以硬编码方式设定尺寸和位置是极其不当的处理方式,因为这会限制本地化界面的能力,并且会使界面更难处理动态内容。不应显式设定元素(如控件)的尺寸。 例如,当添加更多的文本时按钮应当能够扩展。可通过设置…

AI图像识别摄像机

AI图像识别摄像机是一种集成了先进算法和深度学习模型的智能监控设备。这些摄像机不仅能够捕捉视频画面,还能实时分析和处理所拍摄的内容,从而实现对特定对象、场景或行为的自动识别与分类。例如,它们可以区分行人、车辆、动物等不同目标,并且可以检测到异常行为,如打斗、…

客流智能识别摄像机

客流智能识别摄像机广泛应用于多个行业,包括零售业、交通运输、旅游景点以及智慧城市建设等。在零售业中,它们可以帮助商家了解顾客行为,从而优化商品陈列和营销策略;在交通运输领域,该设备可用于监控车站或机场的人流量,以合理安排运力;在旅游景点,通过对游客人数的实…

2025年,Fantastic-admin 这款后台框架将继续引领潮流

前言 大言不惭的取了这个标题,但作为开发了 4 年多的 Fantastic-admin 的作者,回顾这一路走来,从一开始被指责抄袭,到现在拥有数百名付费用户和几十家付费企业。我认为我的开发理念应该是得到了大众的认可。 所以趁着 Fantastic-admin 发布 v5.0 之际,借由这篇文章回顾一下…

“APS+”高级计划排程产品架构设计与功能分析

过去,企业以ERP数据或MRP数据为基石手动计划排程,在生产计划建议上无法实现高精准的交期预测、高效的资源调度管理。现在,企业在信息化的基础上集成APS高级计划排程,以助于其缩短订单生产周期、提高工作效率、降低库存成本,从而在战略上帮助企业实现供应链全流程产销协同一…