一、引言

(一)IT 运维面临的挑战

在当今这个数字化飞速发展的时代,各行各业都高度依赖 IT 系统来维持日常运转。然而,随着业务的拓展以及技术的不断更新迭代,IT 系统变得愈发复杂,所产生的数据量也呈现出爆炸式增长。其中,日志数据犹如海量的信息流,每天都会源源不断地涌现出来。传统的 IT 运维方式,往往依赖人工去梳理、分析这些日志,这不仅耗费大量的人力和时间,而且很容易出现疏漏。在面对故障排查时,要从错综复杂的系统表现、繁多的关联因素里准确找出问题所在更是难上加难,犹如大海捞针一般。诸多现实难题都表明,传统运维方式已有些力不从心,急需新的技术手段来助力,而 AI 算法的应用就显得尤为必要了。

(二)AI 算法在 IT 运维中的重要性

AI 算法的引入,就像是给 IT 运维工作注入了一股强大的动力。它能够极大地提升运维工作的效率,以往人工需要花费数小时甚至数天去分析处理的数据,借助 AI 算法,可能在短短几分钟内就能完成筛选和初步解读,为后续的精准判断争取了宝贵时间。而且,AI 算法有着较高的精准度,通过对大量历史数据的学习以及复杂模型的构建,它可以更准确地捕捉到日志数据中的异常信息,避免因人为疏忽等原因导致的误判情况。在优化整个运维工作流程方面,AI 算法更是发挥着关键作用,它可以实现自动化的监控、预警以及问题初步定位,使得运维人员能够将精力聚焦在更关键的根因排查和解决上,为打造高效、稳定的 IT 运维体系奠定了坚实基础,也为后续深入介绍其在日志分析和根因定位方面的应用做好了有力铺垫。

二、IT 运维中的日志分析

8bab78d42b81ed3f92f3d174dc7fd6fb.jpeg

(一)日志数据的特点与价值

日志数据是在系统运行过程中自然产生的,它就像是系统的 “日记本”,详细地记录了系统内部发生的大规模事件以及用户的各种操作意图等信息。例如,在一个电商平台的系统中,日志会记录用户的登录时间、浏览的商品页面、下单操作以及支付情况等;在服务器端,日志会体现各个服务模块的启动、运行状态以及数据交互情况等。

然而,随着如今 IT 系统规模不断扩大,日志数据也呈现出两个显著特点。其一,数量极其庞大,每天都会产生海量的日志信息,犹如信息海洋一般,要从中筛选出有价值的内容变得愈发困难。其二,日志的标签获取与标注工作相当棘手,因为日志本身半结构化的特性,不像一些有明确分类标注的数据集那样容易处理,很难精准地给每条日志打上合适的 “标签”。

但尽管存在这些挑战,日志数据对于 IT 运维来说却有着不可忽视的重要价值。一方面,它能够帮助运维人员及时发现系统中存在的问题,比如当系统出现故障时,通过查看相关日志,可以追踪到是哪个环节、哪个模块出现了异常,进而快速定位问题根源;另一方面,通过对日志数据的深入分析,还能对系统性能进行优化,例如分析出哪些操作或业务流程导致系统资源消耗过大,从而针对性地进行调整和改进,提升整个系统的运行效率和稳定性。

(二)AI 算法在日志分析中的应用方式

1. 深度学习模型的运用

深度学习中的一些语言模型,如 LSTM(长短期记忆网络)、Transformer 等,在对日志数据进行建模分析方面发挥了重要作用。由于日志数据类似于自然语言语料,有着一定的语义和顺序信息,这些模型能够很好地捕捉到日志中的内在规律和特征。

以 LSTM 为例,它在处理序列数据方面有着独特优势,就像在分析系统按时间顺序产生的日志序列时,LSTM 可以学习到正常运行状态下日志序列的模式(pattern)。比如在一个网络服务系统中,正常的用户登录、请求资源、服务器响应等一系列操作对应的日志序列,LSTM 能够通过学习将其建模,之后当出现异常的日志序列时,就能快速检测出来。

Transformer 模型则凭借其强大的并行计算能力和对长序列的处理能力,同样被广泛应用。例如在分析复杂业务系统的日志时,它可以关注到不同日志条目之间的远距离依赖关系,挖掘出隐藏在大量日志中的价值信息,帮助运维人员更好地理解系统行为,为后续的运维决策提供有力依据。

2. 不同学习策略的结合

在日志分析领域,为了解决标签获取困难的问题,自监督、无监督、弱监督、半监督等不需要完整标签的学习方法被大量运用。比如自监督学习,通过利用日志数据自身的结构特点和内在关联来自动生成监督信号,让模型学习到日志中的正常模式,从而能够判断出异常情况;无监督学习则能在没有预先标注的情况下,对海量日志进行聚类、分组等操作,发现相似日志的集合,从中找出潜在规律,例如找出那些频繁出现的正常日志模式以及少量与众不同的异常模式。

同时,迁移学习、集成学习、持续学习等学习方式也在提升运维效率方面有着重要作用。迁移学习可以把在一个系统或者数据集上学到的知识,应用到另一个相关的系统或数据集上,例如将在某个相似业务的日志分析中训练好的模型,稍作调整就能应用到新的业务场景下的日志分析中,大大节省了训练时间和资源;集成学习通过组合多个不同的模型或者学习器,综合它们的预测结果,使得对日志数据的分析更加准确、稳定,减少误判情况;持续学习则能让模型随着新日志数据的不断产生而持续更新、优化自己的知识和能力,时刻适应系统的变化,保持良好的运维分析效果。

3. 围绕日志展开的任务分类

在针对日志展开的研究中,大致有三个主要的方向,分别是 Log Compression(日志压缩)、Log Parsing(日志解析)、Log Mining(日志挖掘)。

Log Compression 主要聚焦在运行时对软件日志进行压缩处理。由于日志数据量庞大,占用大量的存储空间,通过有效的压缩算法,可以在不丢失关键信息的前提下,减小日志文件的大小,方便存储和传输,同时也能提高后续对日志数据检索、分析等操作的效率。例如一些基于字典编码或者数据重编码的压缩技术,可以将重复出现的日志内容用更简洁的编码表示。

Log Parsing 旨在从软件日志中自动提取事件模板和关键参数。因为原始日志往往格式多样、内容繁杂,通过解析可以把日志中的关键信息提取出来,形成标准化的模板和参数形式,便于进一步分析和理解。像经典的 Drain 算法(基于树结构相似度)、Spell 算法(最长公共子序列)等,都能帮助我们从大量日志中提取出有代表性的事件模板,清晰呈现出日志所描述的系统事件及其参数情况。

Log Mining 则着重于提高系统的可靠性,核心是关注异常检测。它通过对日志数据进行深度挖掘,利用各种数据分析和机器学习方法,找出那些偏离正常模式的异常日志,从而及时发现系统潜在的故障或者安全隐患。例如可以通过分析历史正常日志建立正常行为模型,当新产生的日志不符合这个模型所描述的规律时,就判定为异常日志,进而触发相应的告警和运维处理流程,保障系统的稳定运行。

三、AI 算法助力根因定位

2d56e88da0dc9d1a14a0e4b192bfad4b.jpeg

(一)确定真正的故障

1. 基于业务入口关键指标

在故障根因分析过程中,首要任务就是精准地识别出真正的故障。这需要我们建立一个清晰明确的故障定义,以此在复杂的系统环境里,区分出真正的故障与正常的系统波动或误报情况。

基于过往丰富的排障经验以及云原生架构的部署实践,我们引入了 “业务入口” 这一概念,并将真正的故障与业务入口的多个关键指标相互关联起来。所谓业务入口,指的是用户或外部系统与 IT 系统交互的入口点,像某个网页上的具体操作、页面上的提交功能,还有后端服务或系统提供的关键接口等等都属于业务入口范畴。

业务入口的关键指标通常涵盖了响应时间、吞吐量、错误率、失败请求次数、阻塞操作占比等,这些指标能够直观地反映业务服务的可用性和实际性能。针对这些多指标联合进行 AI 异常检测时,可采用的 AI 算法颇为丰富。例如,可以通过对多指标进行聚类的方式,像 K-Means、DBSCAN 等算法;由于指标数据属于典型的时间序列数据,所以还能够运用时间序列算法,诸如 ARIMA(自回归积分滑动平均模型)、Holt-Winters 等,来检测时间序列中的异常点。

再比如,借助机器学习算法,像决策树、随机森林、支持向量机(SVM)等,它们可以通过训练数据集去学习正常行为模式,进而识别异常情况。深度学习算法如自编码器(Auto Encoders)、长短期记忆网络(LSTM)等,则能够学习复杂数据的潜在表示,并在重构过程中发现异常。当这些关键指标超出正常范围时,我们便可判定业务服务出现了故障。

2. 应对复杂系统环境

如今的 IT 系统架构愈发复杂,在这样的环境中,要想精准找出故障所在并非易事,因为存在系统正常波动以及误报等干扰因素。然而,只有排除这些干扰,准确确定真正的故障,才能确保后续根因定位的准确性。

在实际的运维场景里,系统会受到各种各样因素的影响,像是网络的临时抖动、服务器的瞬间负载变化等,都可能导致一些看似异常的数据出现,但其实并非真正的故障。这就要求我们运用的 AI 算法具备强大的抗干扰能力和精准的判断能力。例如,通过长时间对大量数据的学习和分析,AI 算法能够掌握系统正常波动的范围和规律,当出现新的数据变化时,就能依据已有的知识准确判断是正常波动还是真正的故障信号。同时,对于误报情况,AI 算法可以结合多个维度的数据进行综合分析,避免因单一数据异常而误判为故障,从而提高故障判断的精准度,为根因定位打下坚实基础。

(二)根因定位的具体算法与策略

1. 调用链知识图谱的构建

在进行根因定位时,故障发生前一段时间的调用链数据起着关键作用。首先,我们要全面收集并汇总这段时间内所有错误或缓慢的异常调用链数据,这些数据包含的内容十分丰富,比如服务之间的调用关系、调用时间、调用结果,还涉及从页面上的某个操作调用某个具体的网络请求的链路,以及网络请求调用后端多个服务的链路数据等等。

知识图谱作为一种结构化的语义知识库,它能够以图形的方式清晰地表达实体之间的关系。在故障根因分析工作中,我们会将调用节点抽取出来,使其成为知识图谱的节点,同时把调用链的关系抽取为知识图谱的边。比如在进行实体识别时,每个调用节点都可看作一个实体,像一个页面、页面上的某个操作、一个网络请求、一个服务、一个接口或者一个数据库等等,这些实体在知识图谱里就是以节点的形式呈现出来的。而像服务 A 调用服务 B 这样的调用链中的关系,在知识图谱中就表示为从节点 A 到节点 B 的边,要是接口 1 属于服务 A,那么在知识图谱上就体现为服务 A 包含接口 1 这一关系。

通过这样的方式构建好知识图谱后,我们就相当于拥有了一份详细的 “地图”,可以基于该图谱按图索骥地展开根因分析工作,为后续精准定位故障根源提供有力的依据和清晰的思路。

2. “合纵连横” 分析原则与算法选型

在利用知识图谱进行根因定位时,我们采用了 “合纵连横” 的技术方案,并且遵循 “先横后纵,横纵结合” 的原则。

先在横向调用关系上,采用深度(或广度)优先遍历算法。具体操作就是从源头开始,逐级下钻,对每个实体点逐一判断是否发生了错误或缓慢,一直持续到链路的最终节点。这就好比沿着一条错综复杂的路线,逐段排查是否存在问题一样,通过这种方式能够全面覆盖横向的调用关系,不放过任何一个可能存在故障的节点。

然后,再纵向进行分析,我们会使用告警数据,提取出告警发生的实体对象,接着运用知识图谱中的最短路径算法,查找到告警实体对象与前面最终节点之间的最短路径。这里常用的最短路径算法有 Dijkstra 算法、Floyd-Warshall 算法等。

Dijkstra 算法是一种贪心算法,适用于有向图和无向图,用于在加权图中找到单源最短路径。其基本原理是,首先进行初始化,选择一个起始节点(源节点)并设置其距离为 0,其他所有节点的距离设置为无穷大。然后创建一个优先队列(通常使用最小堆实现),将所有节点按照距离排序。当优先队列非空时,取出距离最小的节点,并对其每个邻接节点进行松弛操作(更新更短的路径),重复上述步骤,直至到达目标节点或优先队列为空。

Floyd-Warshall 算法则是一种动态规划算法,用于在加权图中找到所有节点对之间的最短路径。其基本原理为,首先初始化一个二维数组,表示图中所有节点对之间的直接距离。然后针对图中的每个节点,检查通过该节点作为中间节点是否会缩短其他节点对之间的距离,之后更新数组中的距离值,如此反复,直到所有节点对的最短路径都被找到。

最后,把横向遍历得到的路径和纵向的最短路径结合起来,绘制成最终根因分析拓扑图,这样就能精准地定位到引发故障的根本原因了,这种 “合纵连横” 的方式充分发挥了不同算法的优势,极大提高了根因定位的效率和准确性。

四、AI 算法应用案例分享

23c1e98300bd126646a01a02134b0f7d.jpeg

(一)云智慧在航空行业的异常监测案例

在航空业中,IT 系统的稳定运行对于航班的正常运营、旅客服务等各方面都起着至关重要的作用。例如,过去曾出现过因 IT 故障导致航班、行李和客服系统全面瘫痪的情况,像英国航空公司在 2017 年端午小长假期间,就遭遇了长达 3 天的 IT 系统故障,致使全球 70 个国家、170 个机场、580 次航班约 7.5 万乘客滞留机场,可见 IT 故障影响之严重。

云智慧针对航空业面临的这些挑战,为航空行业客户提供了有效的解决方案。面对海量的日志数据,云智慧先是搭建了业务运营实时监控分析平台,这个平台运用了分布式大数据处理、深度学习等先进技术。

在数据采集阶段,有着丰富的日志数据实时采集方式,支持自有高性能采集器,还能兼容主流开源数据采集器,并且具备灵活水平扩展的数据接入接口,可快速接入流式数据,吞吐量超高且响应时间极小,数据接入就能实现秒级查询。

接着在数据处理环节,其内置数十种处理组件,支持可视化处理 pipeline 及单步处理结果验证,处理结果采用列式存储、线性存储扩展,平台具备强大的实时流式数据处理能力,数据处理能力可达 40T / 天,EPS 能达到 130 万 / 秒,支持多个节点同时写入,单个节点写入速度可达 60 万条 / 秒,同等条件下写入速度比 Elasticsearch 快 10 倍以上。

然后通过运用深度学习等算法,对采集处理后的数据进行实时分析,像可以按照应用场景,对航空信息技术服务、结算及清算服务、分销信息技术服务、机场信息技术服务、航空货运物流信息技术服务、旅游产品分销服务、公共信息技术服务等核心场景的业务数据进行实时分析与监控,第一时间发现系统业务状态异常并及时报警。同时收集历史数据,统计分析后形成比较基线,通过对于基线的比较实现趋势预警及基线偏离预警,提前发现业务潜在问题。

在实际应用中,为某航空企业构建的基于海量实时业务日志数据的业务运维智能分析平台,多次提前发现业务处理响应时间变长、业务指令交互错误率增加等故障先兆,基于智能分析算法对即将发生的异常作出预测和及时告警,有效避免了故障的业务风险,最终实现了从离散日志的统一采集、处理、存储、归档以及查询,极大提升了日志管理和分析的便捷性,保障了航司业务持续、稳定和高效运行,真正帮助航空公司提升了运维效率,减少了因 IT 故障带来的业务损失。

(二)某行智能运维管理平台项目案例

某行客户为进一步贯彻与落实原银保监会、人民银行数字化转型实施指引,结合行内运维系统现状,在《2022-2025 年建设发展战略》中提出明确目标和具体工作措施,金融科技部作为 “夯实业务连续基础底座,推进数字化智能运维管理” 战略落地主责部门,启动了智能运维管理平台项目。

在项目架构方面,整体分为数据层、能力层和用户层来进行搭建。数据层能够全面纳管来自各类 IT 工具、微服务化架构、主机、OMS 核心等数据,就像是一个数据的 “大仓库”,把分散在各处的相关数据都汇聚起来;能力层以场景工具建设为主,覆盖报表、告警、数据中台、流程、CMDB、自动化、可视化等功能方向,通过这些功能为运维工作提供多维度的支持;用户层则以用户真实需要的场景来建设,包括统一门户、一线运维监控、工单派发、移动办公、自动巡检、报表统计、报告分析等,充分构建与需求相符的运维服务能力,确保生产运营的平稳高效。

在重点场景应用中,有着诸多亮点。比如在监控覆盖方面,从硬件、操作系统、存储、数据库、中间件到负载均衡、虚拟机等实现了全应用覆盖,并且还为其提供扩展监控能力,简单开发就能实现特殊设备接入,使得运维人员可以全面掌握系统各部分的运行情况。

在风险健康预警上,全面整合业务和基础架构的性能指标、告警数据,依据权重算法实时计算系统健康度得分,通过可视化的界面,实时反映出系统的运行状态。一旦发现有风险迹象,还可以对相应的应用进行下钻排查,快速找出可能的风险点,提前做好应对措施。

另外,全景应用墙从业务视角出发,对各类系统应用的当下运行状态进行汇总展示,实时展示业务健康情况,需要时可钻取业务系统的详细运行状态,同时,对重要生产指标进行监测,包括重点交易趋势、告警趋势、事件趋势、变更工单趋势等,为业务运营提供了有力的数据分析基础。

还有知识库构建,能够规范对事件、问题及其他管理流程中涉及的经验、解决方案、解决路径等,并计入知识库内,实现事件管理流程与知识库的对接,实现知识库全面化的分类管理,方便后续运维人员遇到类似问题时快速参考借鉴。

通过这一项目的建设,实现了从基础监控、信创监控、云原生监控到第三方工具的全覆盖统一管理,规范化了 ITSM 服务流程,固化沉淀自动化任务,灵活构建了数据运维中台,纳管告警、指标、日志、调用链等重要数据,实现了智能系统健康预警,加强了综合排障的能力并实现运维效率分析、定期生成运维报告,为该行的数字化转型以及运维工作的高效开展奠定了坚实基础,彰显了数据价值,提升了智能化水平与运维质效。

五、总结与展望

b8baddde18ee179e357839c9797a1d2e.png

(一)AI 算法在 IT 运维中的应用成效总结

AI 算法在 IT 运维中的应用,尤其是从日志分析到根因定位这一流程中,已经取得了显著成效。

在提升运维效率方面,以往人工需要花费大量时间去梳理、分析的日志数据,借助 AI 算法,能够实现快速筛选与初步解读。例如一些大型企业每天产生海量日志,人工分析可能需要数小时甚至数天,而通过 AI 算法中的深度学习模型以及各种学习策略相结合,几分钟内便可完成基础分析工作,为后续的精准判断争取了宝贵时间,大大缩短了整体运维周期。

精准度上,AI 算法凭借对大量历史数据的学习以及复杂模型的构建,比如运用 LSTM、Transformer 等深度学习模型分析日志时,可以准确捕捉到日志数据中的异常信息。同时,在根因定位过程中,通过构建调用链知识图谱,结合如 Dijkstra、Floyd-Warshall 等算法,能精准定位到引发故障的根本原因,避免了因人为疏忽等原因导致的误判情况,有效提高了故障排查的准确率。

此外,AI 算法还在很大程度上解放了运维人员,使其能够从繁琐的日常监控、初步分析以及简单故障排查等工作中解脱出来,将精力聚焦在更关键的根因排查和解决,以及对系统架构优化、运维策略制定等更具创造性和战略性的工作上,进一步提升了整个 IT 运维体系的价值。

(二)对未来 IT 运维中 AI 算法应用发展的展望

展望未来,AI 算法在 IT 运维领域有着广阔的发展前景,有望在多个方面实现新的应用与突破。

在故障预测方面,会朝着更智能的方向发展。AI 算法有望通过对更多维度数据的深度分析,不仅涵盖系统日志、性能指标等常规数据,还会结合实时的业务数据、用户行为数据等,提前精准预测潜在故障的发生时间、位置以及影响范围,实现真正的前瞻性运维。例如,在一些复杂的云服务系统中,能够提前数小时甚至数天预测到可能出现的资源瓶颈或故障隐患,运维人员便可提前做好应对措施,最大限度减少业务中断风险。

多系统协同运维也将成为重要的发展方向。随着企业数字化转型的推进,不同业务系统之间的关联性日益紧密且复杂,未来的 AI 算法将能够更好地整合多个异构系统的数据,实现跨系统的统一监控、分析与协调管理。比如,在大型制造企业中,将生产管理系统、供应链系统、质量控制系统等多个关键系统的数据进行融合分析,通过 AI 算法实现自动化的资源调配、故障关联分析以及整体性能优化,打造更加高效、稳定的数字化运营环境。

再者,AI 算法与运维人员的人机协作模式也会不断优化升级。未来,AI 算法将不仅仅是辅助运维人员工作的工具,而是能够与运维人员形成更加紧密、高效的互动合作关系。例如,通过智能助手等形式,实时为运维人员提供精准的决策建议,同时运维人员也能够凭借自身丰富的实践经验和专业知识,对 AI 算法的分析结果进行验证和补充,纠正可能出现的偏差,进一步完善根因定位和问题解决策略。这种人机协同的工作模式将充分发挥双方的优势,大幅提升 IT 运维的整体效能和质量,推动运维工作向更加智能化、高效化的方向发展,为企业的数字化转型提供更为坚实可靠的技术支撑,助力企业在激烈的市场竞争中保持领先地位,从容应对各种复杂多变的业务挑战,实现可持续发展的长远目标。

ece87a29b0fbcb04f173e6996e155b09.png

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐