CN118101419A - 一种对多个网络设备执行根本原因分析的方法及其系统 - Google Patents

一种对多个网络设备执行根本原因分析的方法及其系统 Download PDF

Info

Publication number
CN118101419A
CN118101419A CN202311604217.9A CN202311604217A CN118101419A CN 118101419 A CN118101419 A CN 118101419A CN 202311604217 A CN202311604217 A CN 202311604217A CN 118101419 A CN118101419 A CN 118101419A
Authority
CN
China
Prior art keywords
telemetry data
data
model
anomalies
root cause
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202311604217.9A
Other languages
English (en)
Inventor
阿吉特·克里希纳·帕坦卡尔
基万·汉
普拉萨德·梅里亚拉
曼西·乔希
希鲁蒂·杰登
迪帕克·库马尔·奈克
马里亚·查尔斯·马里亚·塞尔瓦姆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Juniper Networks Inc
Original Assignee
Juniper Networks Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US18/459,036 external-priority patent/US20240176878A1/en
Application filed by Juniper Networks Inc filed Critical Juniper Networks Inc
Publication of CN118101419A publication Critical patent/CN118101419A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0631Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/145Network analysis or design involving simulating, designing, planning or modelling of a network

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本公开涉及一种对多个网络设备执行根本原因分析的方法及其系统。一种用于对多个网络设备执行根本原因分析的示例性系统,包括一个或多个处理器,其被实现在电路系统中并且被配置为:从多个网络设备接收遥测数据;将在历史遥测数据上训练以检测历史遥测数据中的异常的人工智能(AI)异常检测模型应用于所接收的遥测数据,以在所接收的遥测数据中检测一个或多个异常;以及将在历史数据上训练的AI根本原因分析模型应用于异常,以确定引起一个或多个异常的问题的根本原因。

Description

一种对多个网络设备执行根本原因分析的方法及其系统
本申请要求于2023年8月30日提交的美国申请号18/459,036的优先权,该美国申请要求于2022年11月28日提交的印度临时申请号202241068448的权益,这些申请的全部内容通过引证结合在此。
技术领域
本公开涉及计算机网络,并且更具体地,涉及对从网络设备接收的遥测数据的分析。
背景技术
计算机网络是可以交换数据和共享资源的互连计算设备的集合。各种各样的设备操作以促进计算设备之间的通信。例如,计算机网络可以包括路由器、交换机、网关、防火墙以及各种各样的其他设备,以提供并促进网络通信。
这些网络设备通常包括诸如管理接口的机制,以用于本地或远程配置设备。通过与管理接口交互,客户端可以执行配置任务以及执行操作命令,以收集并查看所管理的设备的操作数据。例如,客户端可以配置设备的接口卡,调节所支持的网络协议的参数,指定设备内的物理组件,修改由路由器维护的路由信息,访问驻留在设备上的软件模块和其他资源,并且执行其他配置任务。另外,客户端可以允许用户查看当前操作参数、系统日志、与网络连接相关的信息、网络活动或来自设备的其他状态信息,并且查看从设备接收的事件信息并对其作出反应。
网络配置服务可以由多个不同的设备执行,诸如具有服务卡和/或专用服务设备的路由器。这样的服务包括连接服务,诸如第三层虚拟私有网络(L3VPN)、虚拟私有局域网服务(VPLS)以及对等(P2P)服务。其他服务包括网络配置服务,诸如Dot1q VLAN服务。网络管理系统(NMS)和NMS设备(也被称为控制器或控制器设备)可以支持这些服务,使得管理员可以容易地创建并管理这些高级别网络配置服务。
具体地,设备的用户配置可以被称为“意图”。基于意图的联网系统允许管理员描述预期的网络/计算/存储状态。用户意图可以被分类为业务策略或无状态意图。可以基于网络的当前状态来解析业务策略或有状态意图。无状态意图可以是在无需关注当前网络状态的状态下描述预期的网络/计算/存储状态的完全声明性方式。
意图可以表示为可以使用统一图形来建模的意图数据模型。意图数据模型可以表示为连接图形,使得可以跨越意图数据模型来实现业务策略。例如,数据模型可以使用连接图形来表示,该连接图形具有与具有边(has-edge)和引用边(reference(ref)-edge)连接的顶点。控制器设备可以将意图数据模型建模为统一图形,使得意图模型可以表示为连接的。以此方式,可以跨越意图数据模型实现业务策略。当使用统一图形模型对意图进行建模时,扩展新意图支持对扩展图形模型和编译逻辑的需要。
为了配置设备以执行意图,用户(诸如管理员)可以编写转换程序,该转换程序将高级别配置指令(例如,符合意图数据模型的指令,其可以表示为统一图形模型)转换成低级别配置指令(例如,符合设备配置模型的指令)。作为配置服务支持的一部分,用户/管理员可以提供意图数据模型以及意图数据模型到设备配置模型之间的映射。
为了简化对于用户的映射定义,控制器设备可以被设计为提供以简单方式定义映射的能力。例如,某些控制器设备提供了速度模板和/或可扩展样式表语言转换(XSLT)的使用。这样的转换器包含从意图数据模型到低级别设备配置模型的转换或映射逻辑。通常,意图数据模型中相对较少数量的改变影响跨越设备配置的相对大的数量的特性。在从意图数据模型中创建、更新和删除服务时,可以使用不同的转换器。
发明内容
一般而言,本公开描述了用于执行根本原因分析以检测所管理的网络设备的问题的技术。网络管理系统(NMS)设备(在本文中也被称为控制器设备)可以配置网络设备以将遥测数据发送给分析设备。分析设备可以将多元人工智能(AI)模型应用于遥测数据,以检测遥测数据中的异常。在检测到一个或多个异常之后,分析设备可以对异常执行根本原因分析,以确定引起一个或多个异常的问题的根本原因。
在一个示例中,一种对多个网络设备执行根本原因分析的方法包括:从多个网络设备接收遥测数据;将在历史遥测数据上训练以检测历史遥测数据中的异常的人工智能(AI)模型应用于所接收的遥测数据,以检测所接收的遥测数据中的一个或多个异常;以及对异常执行根本原因分析,以确定引起一个或多个异常的问题的根本原因。
在另一示例中,一种用于对多个网络设备执行根本原因分析的系统包括一个或多个处理器,该一个或多个处理器被实现在电路系统中并且被配置为:从多个网络设备接收遥测数据;将在历史遥测数据上训练以检测历史遥测数据中的异常的人工智能(AI)模型应用于所接收的遥测数据,以检测所接收的遥测数据中的一个或多个异常;以及对异常执行根本原因分析,以确定引起一个或多个异常的问题的根本原因。
在另一示例中,一种计算机可读存储介质在其上存储有指令,该指令在被执行时,使处理器:从多个网络设备接收遥测数据;将在历史遥测数据上训练以检测历史遥测数据中的异常的人工智能(AI)模型应用于所接收的遥测数据,以检测所接收的遥测数据中的一个或多个异常;以及对异常执行根本原因分析,以确定引起一个或多个异常的问题的根本原因。
在附图和以下描述中阐述了一个或多个示例的细节。从说明书和附图以及从权利要求中,其他特征、目的和优点将是显而易见的。
附图说明
图1是示出了包括使用管理设备来管理企业网络的元件的示例的框图。
图2是示出了用于图1中的管理设备的组件的示例性集合的框图。
图3是示出了根据本公开的技术的示例性分析设备的框图。
图4是示出了根据本公开的技术的执行根本原因分析的示例性方法的流程图。
具体实施方式
图1是示出了包括使用控制器设备10来管理企业网络2的元件的示例的框图。企业网络2的所管理的元件14A–14G(合称为“元件14”)包括网络设备,该网络设备经由通信链路互连以形成通信拓扑,以便交换资源和信息。例如,元件14(一般也被称为网络设备或远程网络设备)可以包括路由器、交换机、网关、网桥、集线器、服务器、防火墙或其他入侵检测系统(IDS)或入侵预防系统(IDP)、计算设备、计算终端、打印机、其他网络设备或这样的设备的组合。虽然在本公开中描述为传输、传送或以其他方式支持的分组,但是企业网络2可以根据由任何其他协议定义的任何其他离散数据单元来传输数据,诸如由异步传输模式(ATM)协议定义的小区、或由用户数据报协议(UDP)定义的数据报。将元件14进行互连的通信链路可以是物理链路(例如,光、铜等)、无线链路或其任何组合。
企业网络2被示为经由通信链路耦接到公共网络18(例如,互联网)。例如,公共网络18可以包括一个或多个客户端计算设备。公共网络18可以提供对网络服务器、应用服务器、公共数据库、媒体服务器、终端用户设备以及其他类型的网络资源设备和内容的访问。
控制器设备10经由企业网络2通信地耦接到元件14。在一些示例中,控制器设备10形成设备管理系统的一部分,但是,出于图1中的示例的目的,仅示出了设备管理系统的一个设备。控制器设备10可以直接或间接地耦接到各种元件14。一旦网络设备14被部署和激活,管理员12则使用控制器设备10(或多个这样的管理设备)以使用设备管理协议管理网络设备。一种示例性设备协议是简单网络管理协议(SNMP),其允许控制器设备10遍历和修改在所管理的元件14内存储配置数据的管理信息库(MIB)。SNMP协议的更多细节可以在Harrington等人,RFC 3411,“An Architecture for Describing Simple NetworkManagement Protocol(SNMP)Management Frameworks”(网络工作力量(Network WorkingGroup),互联网工程任务组草稿(the Internet Engineering Task Force draft),2002年12月)(可从http://tools.ietf.org/html/rfc3411获取)中找到,其全部内容通过引证结合在此。作为另一示例,网络配置协议(NETCONF)提供了用于配置网络设备的机制,并且将基于可扩展标记语言(XML)的数据编码用于配置数据,该配置数据可以包括策略数据。NETCONF在Enns的“NETCONF Configuration Protocol”(网络工作力量(Network WorkingGroup),RFC 4741,2006年12月)(可从tools.ietf.org/html/rfc4741获取)描述,上述全部内容通过引证结合在此。
在通常的实践中,控制器设备10(也称为网络管理系统(NMS)或NMS设备)和元件14由企业的IT部门来集中维护。管理员12与控制器设备10交互,以远程监测和配置元件14。例如,管理员12可以关于任何元件14从控制器设备10接收警报,查看元件14的配置数据,修改元件14的配置数据,将新的网络设备添加到企业网络2,从企业网络2中移除现有的网络设备,或者以其他方式操纵企业网络2以及其中的网络设备。尽管关于企业网络进行描述,但是本公开的技术适用于其他网络类型(公共的和私有的),包括LAN、VLAN、VPN等。
在一些示例中,例如,管理员12使用控制器设备10或本地工作站来通过telnet、安全外壳(SSH)或其他这样的通信会话直接与元件14交互。也就是说,元件14通常提供用于直接交互的接口,诸如命令行接口(CLI)、基于网络的接口、图形用户接口(GUI)等,用户可以通过该接口与设备交互以直接发出基于文本的命令。例如,这些接口通常允许用户例如通过telnet、安全外壳(SSH)、超文本传输协议(HTTP)或其他网络会话直接与设备交互,以根据定义的语法来输入文本以将命令提交给所管理的元件。在一些示例中,用户使用控制器设备10发起与元件14中的一个元件(例如,元件14F)的SSH会话15,以直接配置元件14F。以此方式,用户可以将命令以用于执行的格式直接提供给元件14。
此外,管理员12还可以创建可以由控制器设备10提交给任何或所有元件14的脚本。例如,除了CLI接口之外,元件14还提供接口,其用于接口接收根据脚本语言指定命令的脚本。在某种意义上,脚本可以由控制器设备10输出,以自动调用所管理的元件14上的对应的远程过程调用(RPC)。脚本可以符合例如可扩展标记语言(XML)或另一数据描述语言。
管理员12使用控制器设备10以将元件14配置为指定进一步实现管理员12的目标的某些操作特性。例如,管理员12可以针对元件14指定关于安全性、设备可访问性、流量工程、服务质量(QoS)、网络地址转换(NAT)、分组过滤、分组转发、速率限制的特定操作策略或其他策略。控制器设备10使用针对管理所管理的元件14内的配置数据而设计的一个或多个网络管理协议(诸如SNMP协议、NETCONF协议或其派生物,诸如Juniper设备管理接口)来执行配置。控制器设备10可以建立与元件14中的一个或多个的NETCONF会话。
控制器设备10可以被配置为将新的意图数据模型与现有的(或旧的)意图数据模型进行比较,确定新的意图数据模型与现有的意图数据模型之间的差异,并且将反应性映射器应用于新的意图数据模型与旧的意图数据模型之间的差异。具体地,控制器设备10确定新的数据模型是否包括相对于旧的意图数据模型的任何额外的配置参数,以及新的数据模型是修改还是省略了包括在旧的意图数据模型中的任何配置参数。
意图数据模型可以是统一图形模型,而低级别配置数据可以以YANG来表示,其在Bjorklund的“YANG—A Data Modeling Language for the Network ConfigurationProtocol(NETCONF)”(互联网工程任务力量(Internet Engineering Task Force),RFC6020,2010年10月)(可从tools.ietf.org/html/rfc6020获取)中进行了描述。在一些示例中,意图数据模型可以以YAML Ain‘t标记语言(YAML)来表示。控制器设备10可以包括用于转换意图数据模型差异的各种反应性映射器。这些功能被配置为接受意图数据模型(其可以表示为结构化输入参数,例如,根据YANG或YAML)。这些功能还被配置为输出低级别设备配置数据模型改变的相应集合,例如设备配置增加和移除。即,y1=f1(x),y2=f2(x),……,yN=fN(x)。
控制器设备10可以将YANG建模用于意图数据模型和低级别设备配置模型。该数据可以包含跨越YANG实体(诸如列表项和容器)的关系。如下文更详细地讨论的,控制器设备10可以将YANG数据模型转换成图形数据模型,并且将YANG验证转换成数据验证。用于使用针对高级别配置数据的图形模型来管理网络设备的技术在于2017年3月17日提交的题为“CONFIGURING AND MANAGING NETWORK DEVICES USING PROGRAM OVERLAY ON YANG-BASEDGRAPH DATABASE”的美国专利申请号15/462,465中进行了描述,其全部内容通过引证结合于此。
控制器设备10可以从一个管理员12接收表示相关于统一意图数据模型的创建、更新和/或删除动作中的任何一个或全部的数据。控制器设备10可以被配置为针对应用于图形模型的创建、更新和删除中的每一个使用同一编译逻辑。
一般地,与控制器设备10类似的控制器使用针对意图、低级别数据模型和资源的分层数据模型。分层数据模型可以基于YANG或YAML。如上文所讨论的,分层数据模型可以表示为图形。现代系统已经支持意图,以使得网络的管理变得容易。意图是声明性的。为了实现意图,控制器设备10尝试选择最佳资源。客户环境可以被配置为允许客户(例如,管理员12)控制意图实现并且确保编程意图。
图1进一步描绘了分析设备50。控制器设备10可以配置元件14以将遥测数据引导到分析设备50。遥测数据可以与一个或多个关键性能指标(KPI)的值和/或一个或多个应用编程接口(API)的值相对应。分析设备50可以随着时间针对各个多元时间序列接收遥测数据。分析设备50然后可以训练多元人工智能(AI)模型,以从遥测数据中检测异常。在训练多元AI模型之后,分析设备50可以将多元AI模型应用于新接收的遥测数据,以检测元件14之中的一个或多个异常。分析设备50还可以执行多元条件格兰杰因果(multivariateconditional Granger causality)根本原因分析过程,以确定与一个或多个异常相关的一个或多个问题的根本原因。
图2是示出了用于图1中的控制器设备10的组件的示例性集合的框图。在该示例中,控制器设备10包括控制单元22、网络接口34和用户接口36。网络接口34表示可以将网络设备20通信地耦接到外部设备(例如,一个图1中的元件14)的示例性接口。网络接口34可以表示无线和/或有线接口,例如,以太网接口或被配置为根据诸如IEEE 802.11无线联网协议(诸如802.11a/b/g/n或其他这样的无线协议)中的一个或多个的无线标准进行通信的无线电。在各种示例中,控制器设备10可以包括多个网络接口,但是出于示例的目的,仅示出了一个网络接口。
控制单元22表示用于实现归属于控制单元22及其组成模块和元件的功能的硬件、软件和/或固件的任何组合。当控制单元22包括软件或固件时,控制单元22还包括用于存储和执行软件或固件的任何必要的硬件,诸如一个或多个处理器或处理单元。一般地,处理单元可以包括一个或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、或者任何其他等效的集成或离散逻辑电路系统、以及这样的组件的任何组合。此外,处理单元通常使用固定和/或可编程逻辑电路系统来实现。
用户接口36表示一个或多个接口,诸如管理员12(图1)的用户通过该一个或多个接口与控制器设备10交互,例如,以提供输入并且接收输出。例如,用户接口36可以表示显示器、键盘、鼠标、触摸屏、触摸板、触控板、扬声器、相机、麦克风等中的一个或多个。此外,尽管在该示例中控制器设备10包括用户接口,但是管理员12不需要直接与控制器设备10交互,而是可以例如经由网络接口34来远程访问控制器设备10。
在该示例中,控制单元22包括用户接口模块38、网络接口模块32和管理模块24。控制单元22执行用户接口模块38以从用户接口36接收输入和/或向用户接口36提供输出。控制单元22还执行网络接口模块32,以经由网络接口34发送和接收数据(例如,分组)。用户接口模块38、网络接口模块32和管理模块24可以再次被实现为相应的硬件单元,或者以软件或固件或其组合来实现。
控制单元22的功能可以被实现为固定或可编程数字逻辑电路系统中的一个或多个处理单元。这样的数字逻辑电路系统可以包括一个或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或任何其他等效的集成或离散逻辑电路系统、以及这样的组件的任何组合。当被实现为可编程逻辑电路系统时,控制单元22还可以包括存储将由控制单元22的(多个)处理单元执行的硬件或固件指令的一个或多个计算机可读存储介质。
控制单元22执行管理模块24,以管理各种网络设备,例如,图1中的元件14。管理包括例如根据从用户(例如,图1中的管理员12)接收的指令来配置网络设备,以及向用户提供提交配置网络设备的指令的能力。在该示例中,管理模块24还包括配置模块26和转换模块28。
管理模块24被配置为从用户(诸如管理员12)接收针对所管理的网络设备的集合的意图统一图形建模的配置数据。这样的意图统一图形建模的配置数据可以称为“意图数据模型”。例如,用户可以随着时间更新配置数据以添加新服务,移除现有服务,或者修改由所管理的设备执行的现有服务。统一意图数据模型可以根据例如YANG或YAML来构造。图形模型可以包括通过边以分层方式连接的多个顶点。在YANG中,图形模型的边通过“leafref”元件来表示。在YAML的情况下,这样的边可以采用“ref”边来表示。类似地,母子顶点关系可以采用“具有(has)”边来表示。例如,元件A的顶点是指使用具有边元件B的顶点,可以理解为表示“元件A具有元件B”。在一些示例中,管理模块24还向用户提供提交转换模块28执行以将意图数据模型转换为设备特定的低级别配置指令的反应性映射器的能力。
控制器设备10还包括配置数据库40。配置数据库40一般包括描述所管理的网络设备(例如,元件14)的信息。配置数据库40可以用作意图数据存储库,其可以用来持久化和管理意图数据模型的收集。例如,配置数据库40可以包括指示设备标识符(诸如MAC和/或IP地址)、设备类型、设备供应商、设备种类(例如,路由器、交换机、网桥、集线器等)等的信息。配置数据库40还存储所管理的设备(例如,元件14)的当前配置信息(例如,意图数据模型,或者在某些情况下,意图数据模型和低级别配置信息两者)。
转换模块28基于配置数据库40的信息来确定在意图数据模型上执行反应性映射器30中的哪一个,例如,设备中的哪些将接收低级别配置指令。转换模块28然后执行反应性映射器30中的所确定的反应性映射器中的每一个,向反应性映射器提供意图数据模型作为输入并且接收低级别配置指令。转换模块28还可以被称为意图编译器,其是包含映射器(诸如反应性映射器30)的集合的服务。
例如,配置模块26可以首先通过从配置数据库40中检索服务中的每一个的意图数据模型来确定由要更新配置的设备执行的每个服务的现有的意图数据模型。配置模块26然后可以将现有的意图数据模型(在本文也被称为部署的图形模型)与新接收的意图数据模型进行比较,并且确定现有的意图数据模型与新接收的意图数据模型(也被称为未部署的图形模型)之间的差异。配置模块26然后可以将这些改变添加到编译器流,并且反应性映射器30然后可以将这些改变转换成低级别配置信息。改变可以包括在改变集合中,该改变集合可以是包含意图图形顶点和对应的版本标识符的列表。管理模块24可以使用改变集合来跟踪在意图更新中改变的顶点的列表。在已经提交意图之后,管理模块24可以使用改变集合来更新意图图形模型中的顶点状态。配置模块26还基于新接收的意图数据模型更新记录在配置数据库40中的现有的意图数据模型。
在一些示例中,执行更新转换(即,转换导致低级别配置信息的值更新的统一意图数据模型中的改变,而不创建或删除低级别配置数据中的元件)的反应性映射器30可以如下操作。在一个示例中,执行更新的反应性映射器30可以覆盖单个元件。即,例如,这些反应性映射器的性能可以通过采用新值来替换旧的元件值导致元件值的删除。有时,配置服务模型中的单个值可以映射到设备配置中的列表。在这些情况下,转换模块28可以发送旧值以及新值。
转换模块28(其可以根据反应性映射器30来配置)可以使用相同的反应性映射器来创建、更新和删除意图数据模型顶点。因为每个顶点均具有与其自身相对应的反应性映射器,所以编译可以并行执行。即,表示统一意图数据模型的图形模型的顶点中的每一个的反应性映射器可以并行执行,从而实现并行编译。转换模块28可以被配置为允许处理仅受影响的意图数据模型数据改变(即,意图数据模型中受改变影响的那些元件)。基于反应性映射器30,转换模块28可以推断跨越意图数据模型中的顶点的依赖性。如上文所讨论的,当意图数据模型改变时,转换模块28可以基于依赖图形在编译器流中发布消息。
当上传“创建”模板时(即,相对于现有的意图数据模型配置信息,反应性映射器30中的处理意图数据模型配置信息中的新数据的反应性映射器),转换模块28可以使用依赖图形来确定依赖性。当服务改变时,转换模块28可以基于依赖性来生成现有的意图数据模型配置信息和新的意图数据模型配置信息之间的差异。转换模块28然后可以使用反应性映射器30中的反应性映射器来处理差异,并且从而将意图数据模型配置信息转换成低级别配置指令。转换模块28然后可以向配置模块26提供低级别配置指令。
在从转换模块28接收到低级别配置指令之后,配置模块26经由网络接口模块32将低级别配置指令发送到其配置将被更新的相应的所管理的网络设备。网络接口模块32将低级别配置指令传递给网络接口34。网络接口34将低级别配置指令转发给相应的网络设备。
尽管出于示例的目的,用户接口36被描述为允许管理员12(图1)与控制器设备10交互,但是在其他示例中也可以使用其他接口。例如,控制器设备10可以包括代表的状态转移(REST)客户端(未示出),该客户端可以充当到另一设备的接口,管理员12可以通过该接口配置控制器设备10。同样地,管理员12可以通过经由REST客户端与控制器设备10交互来配置元件14。
管理模块24可以将配置数据库40建模为表示YANG配置数据元件的图形数据结构(或图形数据库)。YANG指定了各种类型的数据结构,包括列表、叶列表(leaflist)、容器、具有存在的容器(containers with presence)、以及特征(feature)。管理模块24可以将列表、容器、具有存在的容器和特征以及顶层容器中的每一个建模为图形数据结构中的顶点。或者,配置数据库40可以表示YAML配置数据元件。
在构建图形数据结构之后,管理模块24可以对图形数据结构的数据执行操作。例如,管理模块24可以将基于Netconf的操作(诸如get-config、具有过滤器的get-config和edit-config)映射到图形查询语言查询,诸如Gremlin查询。在gremlindocs.spmallette.documentup.com的GremlinDocs中并在github.com/tinkerpop/gremlin/wiki中描述了Gremlin。如果条件属性改变,管理模块24可以执行映射到图形数据结构的顶点和边的条件。响应于这些条件,管理模块24可以处理额外的改变,作为如下文更详细地讨论的功能来处理。管理模块24可以进一步更新事务语义(transaction semantics)中的所有改变。
图3是示出了可以被配置为执行本公开的技术的示例性分析设备50的框图。分析设备50包括遥测接口52、人工智能(AI)异常检测引擎54、AI异常检测模型56、历史遥测数据58、根本原因分析引擎60、多元AI根本原因分析模型62、配置数据库64以及网络接口66。
遥测接口52被配置为从元件14(图1)接收遥测数据。可以针对一个或多个API和/或一个或多个KPI接收遥测数据。遥测数据可以通过数学变换变换成特征,以更好地表示用于异常检测和根本原因分析AI模型的数据。响应于接收到遥测数据,遥测接口52可以将遥测数据存储到历史遥测数据58,并且将实时遥测数据提供给AI异常检测引擎54。
AI异常检测引擎54可以使用AI异常检测模型56来检测实时遥测数据中的异常。实时遥测数据可以用于特定的时间序列,例如,几毫秒、秒、分钟、小时等的时段。
可以使用历史遥测数据58来训练AI异常检测模型56,以识别历史遥测数据58中的异常。具体地,AI异常检测模型56可以是多元AI模型,其可以被训练以识别哪些API和/或KPI对于给定的时间序列内的评估最重要,以便识别表示包括元件14的网络中的问题的异常。在一些示例中,可以随着时间使用新接收的遥测数据来再训练AI异常检测模型56,以改进从实时遥测数据中检测异常的能力。
响应于检测到异常,AI异常检测引擎54可以将表示异常的数据提供给AI根本原因分析引擎60。AI根本原因分析引擎60可以使用表示异常的数据来确定与异常相对应的问题的根本原因。例如,异常可以对应于丢弃的分组。由于用于通信会话的虚拟私有网络(VPN)可能已经关闭,分组可能已经被丢弃。由于链路失效,VPN可能已经关闭,链路失效可能是网络设备的端口已经失效而引起的。因此,虽然异常可能已经是丢弃的分组时,但是丢弃的分组的根本原因可能已经是网络设备上的端口的失效。具体地,AI根本原因分析引擎60可以使用配置数据库64来确定如何配置包括元件14的网络。类似于图2中的配置数据库40,配置数据库64可以包括数据,因为配置数据库64可以表示如何互连元件14,如何配置元件14的各个组件(例如,以托管服务和/或资源)等。分析设备50可以经由网络接口66从控制器设备10接收配置数据,并且将所接收的配置数据存储到配置数据库64。
分析设备50可以接收表示租户信息、配置信息、网络拓扑、遥测数据、警报、警告以及选择日志的数据作为输入。根据这些输入,分析设备50可以生成表示遥测数据中的异常、作为根本原因的节点/KPI的优先化的列表以及用于执行的剧本的数据。管理员可以针对AI异常检测模型56,对新的异常贴标签,并且验证模型异常。在一些示例中,分析设备50可以包括多个AI异常检测模型,其中,每个AI异常检测模型可以对应于特定的KPI或KPI的集合。
分析设备50可以接收各种类型的数据,诸如度量数据和非度量数据。例如,度量数据可以包括经由遥测接口52来自各种来源的计数器、计量仪和直方图作为遥测数据。非度量数据可以包括经由网络接口66接收的配置和拓扑信息。计数器可以包括分组、丢弃、非均匀存储器访问(NUMA)命中以及上下文切换。计数器可以增加,直到过程或托管重新开始。计量仪可以包括介于某个度量类型的高与低之间的值。计量仪值可以是标准的整数或有理数值或百分比值。直方图可以包括通常表示一个类型的信息的计数器的集合。例如,与每个原因的相应值组合的所有丢弃原因可以表示丢弃模式的常态或异常。直方图可以提供数据的可视化,以用于故障排除。网络拓扑信息可以包括来自服务器、虚拟机、Kubernetes容器池以及它们的连接图形的元数据。
下表1表示分析设备50可以接收的遥测数据的示例性集合。
表1
下表2表示可以基于图1中的输入数据从遥测接口52提供给AI异常检测引擎54的输出数据的示例性集合
表2
下表3表示AI异常检测引擎54可以生成的数据的示例性集合。表3的最后一列表示条目是否是异常,例如,0不表示异常,而1表示异常。
表3
如表3中的示例所示,第三个条目是异常。AI根本原因分析引擎60可以确定该异常的根本原因。下表4表示AI根本原因分析引擎60可以基于表3中的异常数据来生成的示例性RCA元数据表格。
下表5表示指示AI根本原因分析引擎60可以基于表3中的异常数据来生成的根本原因节点的数据的示例性集合。
表5
图4是示出了根据本公开的技术的执行根本原因分析的示例性方法的流程图。出于示例的目的,关于分析设备50解释了图4中的方法。然而,其他设备可以被配置为执行该方法或类似的方法。
最初,分析设备50可以在历史遥测数据上针对异常检测和根本原因分析来训练人工智能(AI)模型(诸如异常检测模型和根本原因分析模型),以检测历史遥测数据中的异常和根本原因(100)。AI模型可以是多元AI模型。控制器设备10可以配置元件14以将遥测数据发送给分析设备50。因此,分析设备50可以从多个网络设备(例如,元件14)接收遥测数据(102)。控制器设备10可以确定元件14的一个或多个API中的哪些将用于将遥测数据发送给分析设备50。同样,另外地或替代地,控制器设备10可以确定用于将遥测数据发送给分析设备50的一个或多个KPI。在一些示例中,另外地或替代地,分析设备50可以确定API和/或KPI。
分析设备50可以将AI异常检测模型应用于所接收的遥测数据(104)。分析设备50可以接收表示所接收的遥测数据中的一个或多个异常的数据,作为AI异常检测模型的应用的输出(106)。分析设备50然后可以应用根本原因分析AI模型,以对异常执行根本原因分析(108)。根本原因分析可以例如使用多元条件格兰杰因果来执行。根本原因分析可以指示引起异常的问题的根本原因(110)。用户(诸如系统管理员)然后可以例如通过维修或更换故障设备、更新或重新配置设备等来解决根本原因。分析设备50还可以使用所接收的遥测数据来更新AI模型(112)。
以此方式,图4中的方法表示对多个网络设备执行根本原因分析的方法的示例,其包括:从多个网络设备接收遥测数据;将在历史遥测数据上训练以检测历史遥测数据中的异常的人工智能(AI)异常检测模型应用于所接收的遥测数据,以检测所接收的遥测数据中的一个或多个异常;以及将在历史数据上训练的AI根本原因分析模型应用于异常,以便确定引起一个或多个异常的问题的根本原因。
本公开中描述的技术可以至少部分地实现在硬件、软件、固件或其任何组合中。例如,所描述的技术的各个方面可以实现在一个或多个处理器内,包括一个或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或任何其他等效的集成或离散逻辑电路系统以及这样的组件的任何组合。术语“处理器”或“处理电路系统”一般可以指前述逻辑电路系统中的任何逻辑电路系统,单独地或与其他逻辑电路系统或任何其他等效电路系统相结合。包括硬件的控制单元也可以执行本公开的一种或多种技术。
这样的硬件、软件和固件可以实现在同一设备内或在单独的设备内,以支持本公开中描述的各种操作和功能。此外,任何所描述的单元、模块或组件可以一起或单独地实现为分立但可互操作的逻辑设备。将不同特征描述为模块或单元,旨在突出不同的功能方面,并不一定意味着这样的模块或单元必须通过单独的硬件或软件组件来实现。相反,可以通过单独的硬件或软件组件执行与一个或多个模块或者单元相关联的功能,或者将与一个或多个模块或者单元相关联的功能集成在公共或单独的硬件或软件组件内。
本公开中描述的技术也可以体现或编码在包含指令的计算机可读介质中,诸如计算机可读存储介质。嵌入或编码在计算机可读介质中的指令可以使可编程处理器或其他处理器执行该方法,例如,当执行指令时。计算机可读介质可以包括非暂时性计算机可读存储介质和暂态通信介质。有形且非暂时性的计算机可读存储介质可以包括随机存取存储器(RAM)、只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、闪存存储器、硬盘、CD-ROM、软盘、磁带、磁介质、光学介质或其他计算机可读存储介质。术语“计算机可读存储介质”是指物理存储介质,而不是信号、载波或其他暂态介质。
已经描述了各种示例。这些和其他示例在以下权利要求的范围内。

Claims (20)

1.一种对多个网络设备执行根本原因分析的方法,所述方法包括:
从所述多个网络设备接收遥测数据;
将在历史遥测数据上训练以检测所述历史遥测数据中的异常的人工智能AI异常检测模型应用于所接收的遥测数据,以检测所接收的遥测数据中的一个或多个异常;以及
将在历史数据上训练的AI根本原因分析模型应用于所述异常,以确定引起一个或多个所述异常的问题的根本原因。
2.根据权利要求1所述的方法,还包括:在接收所述遥测数据之前,在所述历史遥测数据上训练所述AI异常检测模型和所述AI根本原因分析模型。
3.根据权利要求1所述的方法,其中,AI模型包括多元AI模型。
4.根据权利要求1所述的方法,还包括:使用所接收的遥测数据来更新AI模型。
5.根据权利要求1所述的方法,其中,所述多个网络设备包括一个或多个控制节点以及一个或多个计算节点。
6.根据权利要求1所述的方法,其中,所接收的遥测数据用于多元时间序列。
7.根据权利要求1所述的方法,其中,执行所述根本原因分析包括:使用因果AI算法来执行所述根本原因分析。
8.根据权利要求1所述的方法,还包括:确定一个或多个应用编程接口API,针对所述一个或多个应用编程接口API接收遥测数据。
9.根据权利要求1所述的方法,还包括:确定一个或多个关键性能指标KPI,针对所述一个或多个关键性能指标KPI接收遥测数据。
10.一种用于对多个网络设备执行根本原因分析的系统,所述系统包括一个或多个处理器,所述一个或多个处理器实现在电路系统中并且被配置为:
从所述多个网络设备接收遥测数据;
将在历史遥测数据上训练以检测所述历史遥测数据中的异常的人工智能AI异常检测模型应用于所接收的遥测数据,以检测所接收的遥测数据中的一个或多个异常;以及
将在历史数据上训练的AI根本原因分析模型应用于所述异常,以确定引起一个或多个所述异常的问题的根本原因。
11.根据权利要求10所述的系统,其中,所述一个或多个处理器还被配置为:在接收所述遥测数据之前,在所述历史遥测数据上训练所述AI异常检测模型和所述AI根本原因分析模型。
12.根据权利要求10所述的系统,其中,AI模型包括多元AI模型。
13.根据权利要求10所述的系统,其中,所述一个或多个处理器还被配置为使用所接收的遥测数据来更新AI模型。
14.根据权利要求10所述的系统,其中,所述多个网络设备包括一个或多个控制节点以及一个或多个计算节点。
15.根据权利要求10所述的系统,其中,所接收的遥测数据用于多元时间序列。
16.根据权利要求10所述的系统,其中,为了执行所述根本原因分析,所述一个或多个处理器被配置为使用因果AI算法来执行所述根本原因分析。
17.根据权利要求10所述的系统,其中,所述一个或多个处理器还被配置为确定一个或多个应用编程接口API,遥测数据是针对所述一个或多个应用编程接口API接收的。
18.根据权利要求10所述的系统,其中,所述一个或多个处理器还被配置为确定一个或多个关键性能指标KPI,遥测数据是针对所述一个或多个关键性能指标KPI接收的。
19.一种计算机可读存储介质,在所述计算机可读存储介质上存储有指令,所述指令在被执行时,使处理器:
从多个网络设备接收遥测数据;
将在历史遥测数据上训练以检测所述历史遥测数据中的异常的人工智能AI异常检测模型应用于所接收的遥测数据,以检测所接收的遥测数据中的一个或多个异常;以及
将在历史数据上训练的AI根本原因分析应用于所述异常,以便确定引起一个或多个所述异常的问题的根本原因。
20.根据权利要求19所述的计算机可读存储介质,还包括使所述处理器使用所接收的遥测数据来更新AI模型的指令。
CN202311604217.9A 2022-11-28 2023-11-27 一种对多个网络设备执行根本原因分析的方法及其系统 Pending CN118101419A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
IN202241068448 2022-11-28
US18/459,036 2023-08-30
US18/459,036 US20240176878A1 (en) 2022-11-28 2023-08-30 Machine learning assisted root cause analysis for computer networks

Publications (1)

Publication Number Publication Date
CN118101419A true CN118101419A (zh) 2024-05-28

Family

ID=91152361

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311604217.9A Pending CN118101419A (zh) 2022-11-28 2023-11-27 一种对多个网络设备执行根本原因分析的方法及其系统

Country Status (1)

Country Link
CN (1) CN118101419A (zh)

Similar Documents

Publication Publication Date Title
US10892952B2 (en) Supporting compilation and extensibility on unified graph-based intent models
US11296954B2 (en) Supporting near real time service level agreements
EP3716532B1 (en) Supporting concurrency for graph-based high level configuration models
EP3620920B1 (en) Dynamic intent assurance and programmability in computer networks
US10897395B2 (en) Programmable configlets through opaque intents in graph based intent controllers
US20210152416A1 (en) Network model aware diagnosis of a network
CN112104473B (zh) 基于图形的意图控制器中的可编程配置模板
EP3952212B1 (en) Using a programmable resource dependency mathematical model to perform root cause analysis
CN112822032B (zh) 网络的网络模型感知诊断
US11805013B2 (en) Prioritizing policy intent enforcement on network devices
CN113206749B (zh) 网络事件的相关性的可编程诊断模型
US11811601B2 (en) Predictive pipeline analytics for a network management system
US20240176878A1 (en) Machine learning assisted root cause analysis for computer networks
CN118101419A (zh) 一种对多个网络设备执行根本原因分析的方法及其系统
EP4376372A1 (en) Machine learning assisted root cause analysis for computer networks
US11700181B2 (en) Topology compiler for network management system

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination