案例分享 | 某券商利用AI技术进行告警关联分析(上)

news2024/11/25 7:44:35

本内容来自公众号“布博士”------(擎创科技资深产品专家)

背景:

作为大型券商企业之一,某券商对深入数字化转型,以及对应用、网络、主机、操作系统、中间件、用户使用体验等的全面可观测性要求越来越强烈。由于可观测性需求的深入及实施,带来了大量的告警需要进行处理,原有的统一事件管理平台仅完成了对告警的收集、告警标准化、丰富和通知等能力。

当前该券商面临的最大问题是告警不能进一步收敛,缺乏运维专家的经验可以将同一问题引发的多个告警进行有效的关联,进而进一步降低告警的处理量。

针对这一问题,该券商AIOPS二期项目主要关注点聚焦在:挖掘告警中潜在的告警关联模式,即通过AI技术对历史告警的关联分析找到告警发生时,不同的告警对象指标之间的相互影响关系,并将有影响的告警关联到一起进行处理,以加速对告警分析、处置过程。

针对该券商的案例分享,我们要分享的内容主要包括

● 人工智能项目一般过程及方法论简介

● 告警关联分析模型建立过程介绍(业务理解、数据理解、数据准备)

● 下一步:产品化

受限于篇幅,本次分享内容将分为上下两篇跟大家见面~

一、AI人工智能项目一般过程及方法论

上图所示的为CRISP-DM方法论,即跨行业的数据挖掘标准流程,这个标准是由IBM SPSS、Daimler Chrysler等几家公司于1999年推出的事实上的标准,笔者从2010年来便开始接触数据挖掘类项目(当下流行叫机器学习、人工智能)至今看到的几乎所有的类似项目都沿用该标准。

按CRISP-DM方法论,该过程包括6大过程,分别为业务理解(Business Understanding)、数据理解(Data Understanding)、数据准备(DataPreparation)、模型搭建(Modeling)、模型评估(Evaluation)和模型发布(Deployment)。在后面的分享中,我们将以该流程为例,对告警关联分析模型建立过程进行详细的介绍。

上述6大过程的顺序也不是固定不变的,在不同的项目中,可有不同的流转过程,不论如何,业务理解这一点一定是项目最开始就要明确的。

另外,该过程是循环的,每次针对不同业务目标的深入理解会不断地进行优化和调整,后续的循环过程可以不断从上一次的6大过程中得到借鉴和启发。

本次项目取得的成果也是我们经过5轮算法优化过程,两轮用户参与评审过程,才不断优化而来的。

二、告警关联分析模型建立过程介绍

这里我们按照上述6大过程来执行并讲解。

1.业务理解(Business Understanding)

业务理解是第一个过程,也是这里面最核心的过程,该过程执行的好坏,直接决定了后续5大过程的准确与否。

在该过程中也包括几个重要环节(项目目标、成功条件、资源、计划、使用的工具等),在这里我们只介绍项目目标:必须要定义好本次AI项目的具体目标,不能有任何模糊,否则无法判断成功的标准、资源的投入、大致的项目计划。

本案例中我们的目标即是通过历史告警数据来挖掘出哪些告警是经常一起发生的,找到这些具有潜在内在关联的告警。

考虑到整个数据中心的数据量比较庞大,同时会产生大量的分析结果,后续审核阶段工作量比较大且数据分散,验证难度也比较大。因此,在本项目中我们选择了该券商最重要的核心业务系统。

2.数据理解(Data Understanding)

AI类的项目是从数据中找到我们认为有价值的知识,因此这种类型的项目都是以数据为核心来进行驱动的。

针对项目目标的理解,我们需要回答:

解决业务目标问题的数据在哪里?

数据长成什么样子?

我们对数据理解么?

数据有什么样的特征?

数据质量如何?有无缺失值

进行告警的关联分析,需要获取原始告警数据,这是我们通过告警辨析中心从不同的监控来源获取的原始告警信息,这些原始告警需要经过一定的标准化和丰富之后才能够给算法使用。

通过对告警数据的理解一定要能够回答如下三个问题:

When:即在什么时间发生的告警,这是一个非常重要的时间,后续我们在算法中进行时间窗口切分时依赖该字段。

Who:代表告警的对象是谁,该告警对象所服务的业务系统是谁,也是非常重要的一个字段,我们在进行算法数据输入和处理时从整个数据中心中的告警中进行数据范围选择的依据,针对不同的告警对象类型(网络设备、应用系统、安全设备等)所选择的告警字段、数据筛选和过滤及加工的方式完全不同,而且会严重影响最终产生的效果。

What:代表发生了什么,不同的告警对象类型、告警对象的指标之间是相互影响的,我们主要分析的即为相互之间的影响产生之后,在某个时间段时因为影响而共同发生。

通过一些可视化的数据工具,我们可以详细了解数据的特征、有无缺失、数据质量等的情况,这样可以结合数据特征+业务理解,我们在该步骤确认需要用到什么样的算法来解决问题,针对不同的算法其对数据的输入要求也会有所不同,会直接影响数据准备过程。

如上图数据挖掘工具rapidminer所生生数据统计结果,我们可以看到:

告警指标metric_name存在大量数据丢失的情况,因此我们在后续的告警关联分析挖掘中采用template_id(告警内容模板ID),每一个告警内容对应一条内容模板,用于描述同一类告警问题,等同于告警指标字段字段。

event_time,代表原始告警的发生时间,不能为空。

object、business、content等内容都不为空,这些字段是在进行挖掘模式解读、评审时,都会用到的关键信息。

3.数据准备(Data Preparation)

一般在数据准备阶段需要进行数据的清洗、转换、新特征衍生成等步骤,并转换为算法模型可以接收的数据(这个过程在AI领域被称为特征工程),不同的算法模型对数据的要求不同,在这里我们进行告警关联分析用到的主要是fp-growth算法,这是一个非常经典且常用的关联分析挖掘算法,它的适用场景及原理,在这里我们不再详述,感兴趣的同学可以直接通过搜索引擎在网上搜索。

在之前发表的《利用人工智能算法实现告警的关联分析》一文中,楼主已经详细介绍了算法所需要的输入数据,如下图所示。

在数据理解阶段,我们发现该券商的告警数据中大部分的告警指标都为空值(在很多客户中都存在此种情况,只有告警的时间、告警ID、告警内容,但是没有告警指标),因此没有办法利用告警指标来做为告警关联的依据,最后采用针对告警内容的模板识别ID做为关联依据。

针对每套可观测性系统而言,每一个指标产生告警之后,其告警的描述性内容基本都是套用同一个格式的,如下图所示CPU使用率指标所产生的告警内容除了取值不同之外,其它内容都是一致的,因此我们在进行关联时采用擎创告警辨析中心产品独有的告警模板ID来代替指标,两者所产生的效果是一致的。

最终我们生成的要送入FP-GROWTH算法的输入数据如下图所示:

ID:即为切分的时间窗口

items:为在该时间窗口内,产生的告警模板ID有哪些

干货很干,今天的分享暂时就到这了,不知道大家看完有没有对“利用AI技术进行告警关联分析”有了一定的了解呢?欢迎评论区留言一起讨论~


擎创科技,Gartner连续推荐的AIOps领域标杆供应商。公司致力于协助企业客户提升对运维数据的洞见能力,优化运维效率,充分体现科技运维对业务运营的影响力。

行业龙头客户的共同选择

更多运维思路与案例持续更新中,敬请期待

随手点关注,更新不迷路

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

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

相关文章

机器学习在预测脊髓型颈椎病中的应用:一项28名参与者的事后初步研究

机器学习在预测脊髓型颈椎病中的应用:一项28名参与者的事后初步研究 Machine Learning for the Prediction of Cervical Spondylotic Myelopathy: A Post Hoc Pilot Study of 28 Participants 简单说:训练了两个模型:1)预测脊髓型颈椎病诊断&#xff0…

音乐 APP 用户争夺战,火山引擎 VeDI 助力用户体验升级!

更多技术交流、求职机会,欢迎关注字节跳动数据平台微信公众号,并进入官方交流群 国内数字音乐市场正在保持稳定增长。 根据华经产业研究院数据报告显示,2020 年数字音乐市场规模为 357.3 亿元,到 2022 年市场规模已增长至 482.7 …

2月编程语言排行榜新鲜出炉,谁又摘得桂冠?

近日,TIOBE公布了2023年2月编程语言排行榜,本月各个语言表现如何?谁又摘得桂冠?一起来看看吧! TIOBE 2月Top15编程语言: 详细榜单查看TIOBE官网 https://www.tiobe.com/tiobe-index/ 关注IT行业的小伙伴…

LabVIEW中的软件定时应用可以达到怎样的精度

LabVIEW中的软件定时应用可以达到怎样的精度有一个基于软件定时的数据采集应用。采集任务在一个循环结构中完成,使用LabVIEW的定时函数。每次循环间的间隔应该是一个常量,但没有得到优于1ms的定时分辨率。解答:LabVIEW 或LabWindows/CVI定时函数使用的是…

PHP如何实现HTTP服务器

一般来讲,PHP很少谈到“实现HTTP服务”的说法,因为从早期的CGI到后来的PHP-FPM,官方已经给出了最稳定的HTTP解决方案,你只要配合一个Apache或Nginx类的服务器就能实现稳定的HTTP服务。 但PHP并非不能实现HTTP服务,一般…

知识付费小程序怎么做_分享知识付费小程序的作用

在线知识付费产业的主要业务逻辑是基于用户的主动学习需求,为其提供以跨领域基础知识与技能为核心的在线知识服务,提升其达到求知目的的效率。公众号和小程序的迅速发展,又为知识付费提供了技术支持,从而促进了行业的进一步发展。…

UE 虚幻引擎 【DT Subsystem】 插件说明

在虚幻中自带有子系统,可能实现自动实例化。 但是子系统只能在C中继承实现,本插件的目的则是可以直接在蓝图中创建并使用子系统。 官方子系统说明参考: 虚幻引擎编程子系统 | 虚幻引擎5.1文档 (unrealengine.com)https://docs.unrealengine…

Studio 3T 2023.1.1 (macOS, Linux, Windows) - MongoDB 的专业 GUI、IDE 和 客户端

The professional GUI, IDE and client for MongoDB 请访问原文链接:https://sysin.org/blog/studio-3t-2023/,查看最新版。原创作品,转载请保留出处。 作者主页:www.sysin.org Studio 3T,MongoDB 的专业 GUI、IDE 和…

桌面电脑如何快速体验DataEase?

DataEase是一款人人可用的数据可视化分析工具,致力于帮助用户快速分析数据并洞察业务趋势,从而实现业务的改进与优化。但有一些用户提出,目前大部分的部署场景都是将DataEase部署在服务器中,自己只有一台桌面电脑,是不…

初始C++(五):

文章目录一.auto关键字1.1auto关键字用法1.2auto关键字的小细节1.3h获取变量类型二.范围for(语法糖)三.nullptr和NULL一.auto关键字 1.1auto关键字用法 auto这个关键字其实非常简单,用处就是能自动帮你去匹配类型,像下面这段代码: int mai…

Jetpack技术Hilt【实现解耦 】

Hilt是什么? Hilt 是基于 Dagger2 的针对 Android场景定制化 的框架。 这有点像什么? RxAndroid 是 RxJava 的Android平台定制化扩展。Andorid虽然由Java、Kotlin构成,但是它有很多平台的特性,比如它有 Java开发 所不知道的 Cont…

嵌入式开发:AI和Chat GPT改变嵌入式系统的3种方式

嵌入式软件开发是一个已经发展了很多年的领域,它已经见证了许多技术进步。然而,ChatGPT和其他人工智能技术的引入将以前所未有的方式彻底改变该领域。在这篇博文中,我们将探索ChatGPT和AI将改变嵌入式开发的三种方式。方式1 —— CHATGPT/AI自…

Redis之搭建一主多从

搭建redis一主多从的过程 1.在相应位置创建一个文件夹存放redis配置文件 mkdir myredis2.复制redis配置文件到此文件夹中 cp /opt/redis/redis/bin/redis.conf /opt/myredis/redis.conf3.新建三个配置文件 touch redis6379.conf touch redis6380.conf touch redis6381.conf4…

测试开发之Django实战示例 第九章 扩展商店功能

第九章 扩展商店功能在上一章里,为电商站点集成了支付功能,然后可以生成PDF发票发送给用户。在本章,我们将为商店添加优惠码功能。此外,还会学习国际化和本地化的设置和建立一个推荐商品的系统。本章涵盖如下要点:建立…

基于JAVA+SpringBoot+Vue+ElementUI中学化学实验室耗材管理系统

✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取项目下载方式🍅 一、项目背景介绍: 当前,中学…

【js文字大小自适应】原生js实现文字大小自适应(附完整源码)

目录1、先睹为快2、代码实现第一步、搭建页面第二步、设置样式第三步、JS实现字体自适应3、源码直通车(百度云下载)【写在前面】之前写过一个大屏的项目,其中里面最头疼的应该是图片,文字,图表(echarts&…

分布式事务解决方案——TCC

TCC是Try、Confirm、Cancel三个词语的缩写,TCC要求每个分支事务实现三个操作:预处理Try、确认Confirm、撤销Cancel。1、Try 阶段是做业务检查(一致性)及资源预留(隔离),此阶段仅是一个初步操作,它和后续的Confirm一起才能真正构成…

Win11系统如何安装Ubuntu20.04(WSL版本)并安装docker

终于还是下定决心去换电脑了……这次采用轻量级的WSL,发现虽然没有占内存的GUI界面,但是编码和阅读文档还是非常nice的 1、首先开启Win11的虚拟机服务 2、下载你期望的Ubuntu服务器(这里以20.04为例) 安装成功后,发现…

发布的软文如何提高阅读量?

软文文章是一种带有宣传性质的文章,旨在宣传某个产品、品牌或者公司。然而,要想有效地宣传,就必须要让读者真正的阅读并了解软文中的内容。因此,提高软文文章阅读量是非常重要的。下面是一些有助于提高软文文章阅读量的方法&#…

简单记录简单记录

目录1.注册Gmail2.注册ChatGPT3.验证“真人”使用4.开始使用1.注册Gmail 第一步先注册一个谷歌邮箱,你也可以使用微软账号,大部分人选择使用gmail。 申请谷歌邮箱 选择个人用途创建账号即可。 📌温馨提示: 你直接使用guo内的网…