CN116938702A - 用于网络管理系统的预测流水线分析 - Google Patents
用于网络管理系统的预测流水线分析 Download PDFInfo
- Publication number
- CN116938702A CN116938702A CN202210702556.XA CN202210702556A CN116938702A CN 116938702 A CN116938702 A CN 116938702A CN 202210702556 A CN202210702556 A CN 202210702556A CN 116938702 A CN116938702 A CN 116938702A
- Authority
- CN
- China
- Prior art keywords
- network
- determining
- metrics
- interface
- routes
- 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
Links
- 238000004458 analytical method Methods 0.000 title abstract description 72
- 238000000034 method Methods 0.000 claims description 44
- 238000007726 management method Methods 0.000 description 39
- 238000013499 data model Methods 0.000 description 20
- 230000004044 response Effects 0.000 description 18
- 238000006243 chemical reaction Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 12
- 238000004891 communication Methods 0.000 description 8
- 238000013461 design Methods 0.000 description 8
- 239000000523 sample Substances 0.000 description 8
- 230000006870 function Effects 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 4
- 230000000737 periodic effect Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000013515 script Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 241000721662 Juniperus Species 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 230000003466 anti-cipated effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000013524 data verification Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- PWPJGUXAGUPAHP-UHFFFAOYSA-N lufenuron Chemical compound C1=C(Cl)C(OC(F)(F)C(C(F)(F)F)F)=CC(Cl)=C1NC(=O)NC(=O)C1=C(F)C=CC=C1F PWPJGUXAGUPAHP-UHFFFAOYSA-N 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
- H04L41/0816—Configuration setting characterised by the conditions triggering a change of settings the condition being an adaptation, e.g. in response to network events
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/085—Retrieval of network configuration; Tracking network configuration history
- H04L41/0853—Retrieval of network configuration; Tracking network configuration history by actively collecting configuration information or by backing up configuration information
- H04L41/0856—Retrieval of network configuration; Tracking network configuration history by actively collecting configuration information or by backing up configuration information by backing up or archiving configuration information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/085—Retrieval of network configuration; Tracking network configuration history
- H04L41/0853—Retrieval of network configuration; Tracking network configuration history by actively collecting configuration information or by backing up configuration information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0866—Checking the configuration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/22—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks comprising specially adapted graphical user interfaces [GUI]
Abstract
本发明公开了用于网络管理系统的预测流水线分析。一种控制器设备,包括存储器和耦接到存储器的一个或多个处理器。存储器存储指令,指令在执行时使一个或多个处理器接收指示第一时间和网络服务的查询,使用与第一时间和网络服务相关联的遥测数据确定第一组配置元,以及使用意图模型确定第二组配置元。指令还使得一个或多个处理器使用第一组配置元和第二组配置元确定在第一时间发生的一个或多个第一度量,使用从多个网络设备接收的遥测数据确定在第二时间的一个或多个第二度量,并生成表示呈现一个或多个第一度量和一个或多个第二度量的用户界面的数据。
Description
本申请要求2022年3月31日提交的美国专利申请第17/657,519号的优先权,其全部内容通过引用并入本文。
技术领域
本公开内容涉及计算机网络,更具体地,涉及网络设备的管理。
背景技术
计算机网络是可以交换数据和共享资源的相互连接的计算设备的集合。各种设备操作以促进计算设备之间的通信。例如,计算机网络可以包括路由器、交换机、网关、防火墙和各种其他设备来提供和促进网络通信。
这些网络设备通常包括用于本地或远程配置设备的机制,例如管理接口。通过与管理接口交互,客户端可以执行配置任务以及执行操作命令来收集和查看被管理设备的操作数据。例如,客户端可以配置设备的接口卡、调整支持的网络协议的参数、指定设备内的物理部件、修改路由器维护的路由信息、访问软件模块和驻留在设备上的其他资源,以及执行其他配置任务。此外,客户端可以允许用户从设备查看当前操作参数、系统日志、与网络连接相关的信息、网络活动或其他状态信息,以及查看从设备接收的事件信息并对其做出反应。
网络配置服务可以由多个不同的设备执行,例如具有服务卡和/或专用服务设备的路由器。这种服务包括连接服务,例如第三层虚拟专用网(L3VPN)、虚拟专用局域网服务(VPLS)和对等(P2P)服务。其他服务包括网络配置服务,如Dot1q VLAN服务。网络管理系统(NMS)和NMS设备,也称为控制器或控制器设备,可以支持这些服务,使得管理员(例如,网络管理员)可以容易地创建和管理这些高级网络配置服务。
发明内容
一般而言,本公开描述了用于识别用于管理网络设备的相关遥测信息(telemetryinformation)的技术。网络管理系统(NMS)设备,在此也称为控制器或控制器设备,可以被配置为将高级配置(例如,从管理员接收的用于多个被管理网络设备的意图)转换为低级配置(例如,将被应用于被管理网络设备本身)。在一些情况下,控制器设备可以接收资源设备的拓扑和角色的指示,并生成该资源设备的设备级配置信息。例如,管理员(例如,人类)可以为资源设备选择拓扑(例如,脊或叶、3级Clos或5级Clos)和角色,并提供意图。在一些实施例中,控制器设备可以根据资源设备的角色、拓扑和意图为资源设备生成设备级配置。
在一个实施例中,管理多个网络设备的方法包括:由管理该多个网络设备的设备的一个或多个处理器接收指示第一时间和网络服务的查询;以及由一个或多个处理器使用从多个网络设备接收的且与第一时间和网络服务相关联的遥测数据来确定该多个网络设备的第一组配置元。该方法还包括:由该一个或多个处理器使用意图模型来确定该多个网络设备的第二组配置元,以及由该一个或多个处理器使用该第一组配置元和该第二组配置元来确定在第一时间发生的一个或多个第一度量。该方法还包括由该一个或多个处理器使用从该多个网络设备接收的遥测数据确定在第二时间的一个或多个第二度量,以及由该一个或多个处理器生成表示用户界面的数据,来呈现该一个或多个第一度量和该一个或多个第二度量。该方法还包括由该一个或多个处理器输出表示用户界面的数据。
在另一实施例中,控制器设备包括存储器和耦接到存储器的一个或多个处理器。存储器存储指令,指令在被执行时使得一个或多个处理器接收指示第一时间和网络服务的查询,并使用从多个网络设备接收且与第一时间和网络服务相关联的遥测数据确定多个网络设备的第一组配置元。指令还使得一个或多个处理器使用意图模型来确定多个网络设备的第二组配置元,并且使用该第一组配置元和该第二组配置元来确定在第一时间发生的一个或多个第一度量。指令还使得一个或多个处理器使用从多个网络设备接收的遥测数据确定在第二时间的一个或多个第二度量,并生成表示用户界面的数据,来呈现一个或多个第一度量和一个或多个第二度量。指令进一步使得一个或多个处理器输出表示用户界面的数据。
在一个实施例中,一种计算机可读存储介质,其上存储有指令,当执行这些指令时,使管理多个网络设备的控制器设备的处理器接收指示第一时间和网络服务的查询,并使用从多个网络设备接收的且与第一时间和网络服务相关联的遥测数据来确定多个网络设备的第一组配置元。指令还使得处理器使用意图模型确定多个网络设备的第二组配置元,并使用第一组配置元和第二组配置元确定在第一时间发生的一个或多个第一度量。指令还使得处理器使用从多个网络设备接收的遥测数据确定在第二时间的一个或多个第二度量,并生成表示用户界面的数据,来呈现一个或多个第一度量和一个或多个第二度量。指令进一步使处理器输出表示用户界面的数据。
一个或多个实施例的细节在附图和下面的描述中阐述。从描述和附图以及权利要求书中,其他特征、目的和优点将是显而易见的。
附图说明
图1是示出包括使用管理设备管理的企业网络的网元的实施例的框图。
图2是示出图1的管理设备的示例性的一组部件的框图。
图3是示出使用图1的管理设备确定针对丢失接口的度量的实施例的概念图。
图4是示出使用图1的管理设备确定针对意外接口的度量的实施例的概念图。
图5是示出使用图1的管理设备确定针对丢失路由的度量的实施例的概念图。
图6是示出使用图1的管理设备确定针对意外路由的度量的实施例的概念图。
图7是示出根据本公开技术的用于基于意图模型从遥测数据的数据库确定一个或多个度量的示例过程的流程图。
具体实施方式
图1是示出包括使用控制器设备10管理的企业网络2的网元的实施例的框图。企业网络2的被管理网元14A至14G(统称为“网元(element)14”)包括经由通信链路互连以形成通信拓扑以便交换资源和信息的网络设备。网元14(通常也称为网络设备或远程网络设备)可以包括例如路由器、交换机、网关、网桥、集线器、服务器、防火墙或其他入侵检测系统(IDS)或入侵预防系统(IDP)、计算设备、计算终端、打印机、其他网络设备或这些设备的组合。尽管在本公开中描述为发送、传送或以其他方式支持数据包,但企业网络2可以根据由任何其他协议定义的任何其他离散数据单元来发送数据,例如由异步传输模式(ATM)协议定义的信元或由用户数据报协议(UDP)定义的数据报。将网元14互连的通信链路可以是物理链路(例如,光链路、铜链路等)、无线链路或其任何组合。
企业网络2被示为经由通信链路耦接到公共网络18(例如,因特网)。公共网络18可以包括例如一个或多个客户端计算设备。公共网络18可以提供对web服务器、应用服务器、公共数据库、媒体服务器、最终用户设备以及其他类型的网络资源设备和内容的访问。
控制器设备10经由企业网络2通信耦接到网元14。控制器设备10可包括,例如,虚拟机集群。在一些实施例中,控制器设备10构成设备管理系统的一部分,尽管图1为了示例仅示出了设备管理系统的一个设备。控制器设备10可以直接或间接地耦接到各种网元14。一旦网元14被部署和激活,管理员12使用控制器设备10利用设备管理协议来管理网络设备。设备协议的一个示例是简单网络管理协议(SNMP),其允许控制器设备10遍历和修改管理信息库(MIB),MIB存储每个被管理网元14的配置数据。SNMP协议的进一步细节可见Harrington等人,RFC3411,“An Architecture for Describing Simple NetworkManagement Protocol(SNMP)Management Frameworks,”Network Working Group,theInternet Engineering Task Force draft,2002年12月,可见于http://tools.ietf.org/html/RFC3411,其全部内容通过引用并入本文。
控制器设备10(也称为网络管理系统(NMS)或NMS设备)与网元14由企业的IT组集中维护。管理员12与控制器设备10交互以远程监测和配置网元14。例如,管理员12可以从控制器设备10接收关于任何网元14的警报,查看网元14的配置数据,修改网元14的配置数据,向企业网络2添加新的网络设备,从企业网络2移除现有的网络设备,或者以其他方式操纵企业网络2和其中的网络设备。尽管针对企业网络进行了描述,但本公开的技术可应用于其他网络类型,公共和专用,包括LAN、VLAN、VPN等。
在一些实施例中,管理员12使用控制器设备10或本地工作站与网元14直接交互,例如通过telnet、secure shell(SSH)或其他类似的通信会话。即,网元14通常提供用于直接交互的接口,例如命令行接口(CLI)、基于web的接口、图形用户界面(GUI)等,通过这些接口,用户可以与设备交互以直接发布基于文本的命令。例如,这些接口通常允许用户直接与设备交互,例如通过telnet、secure shell(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设备管理接口)来执行配置。通常,NETCONF提供配置网络设备的机制,并对配置数据使用基于可扩展标记语言(XML)的数据编码,其可能包括策略数据。在Enns,“NETCONFConfiguration Protocol”,Network Working Group,RFC 4741,2006年12月,可见于tools.ietf.org/html/RFC4741中描述了NETCONF。控制器设备10可以与一个或多个网元14建立NETCONF会话。
设备的用户配置可以被称为“意图”。基于意图的网络系统可以帮助管理员能够描述预期的网络/计算/存储状态。用户意图可以分类为业务策略或无状态意图。业务策略或有状态意图可以根据网络的当前状态进行解析。无状态意图可能是描述预期的网络/计算/存储状态的完全声明方式,而不涉及当前网络状态。
意图可以表示为意图数据模型,该模型可以使用统一的图来建模。意图数据模型可以表示为连通图,这样可以跨意图数据模型实现业务策略。例如,数据模型可以用连通图来表示,该图的顶点用有边(has-edge)和参考(ref)边(reference edge)连接。控制器设备可以将意图数据模型建模为统一的图,从而可以将意图模型表示为连通的。通过这种方式,业务策略可以跨意图数据模型实现。当意图使用统一的图模型建模时,扩展新的意图支持需要扩展图模型和编译逻辑。
控制器设备10可以被配置为接受来自管理员12的高级配置数据或意图(其可以表示为结构化的输入参数,例如,根据YANG的,描述于Bjorklund,“YANG-a data ModelingLanguage for the Network configuration Protocol(NETCONF),Internet EngineeringTask Force,RFC 6020,2010年10月,可见于tools.ietf.org/html/rfc6020)。
为了配置设备以执行意图,用户(例如管理员12)可以编写转换程序,将高级配置指令(例如,根据意图数据模型的指令,该意图数据模型可以表示为统一的图模型)转换为低级配置指令(例如,根据设备配置模型的指令)。作为配置服务支持的一部分,管理员12可以提供意图数据模型以及意图数据模型到设备配置模型之间的映射。
控制器设备10还可以被配置为输出相应的低级设备配置数据集,例如,设备配置添加、修改和移除。关于用于将高级配置信息转换为低级设备配置信息的示例过程的附加细节可以在例如Jiang等人于2016年6月30日提交的美国专利申请第15/198,657号,“TRANSLATING HIGH-LEVEL CONFIGURATION INSTRUCTIONS TO LOW-LEVEL DEVICECONFIGURATION”中找到,其全部内容通过引用并入本文。该公开将由意图产生的低级设备配置(例如,通过对意图进行编译或转换产生的)称为“设备级意图配置信息”或“意图配置”,以将该设备级配置与带外(OOB)设备级配置区分开来。在一些实施例中,控制器设备10可将YANG建模用于意图数据模型和低级设备配置模型。此数据可能包含跨YANG实体的关系,如列表项和容器。在一些实施例中,控制器设备10可将YANG数据模型转换为数据库模型,并将YANG验证转换为数据验证。在2017年3月17日提交的美国专利申请第15/462,465号,“CONFIGURING AND MANAGING NETWORK DEVICES USING PROGRAM OVERLAY ON YANG-BASED GRAPH DATABASE”中描述了使用用于高级配置数据的图模型来管理网络设备的技术,其全部内容通过引用并入本文。
控制器设备10可以从管理员12中的一个接收表示关于意图数据模型的创建、更新和/或删除动作中的任何或全部的数据。控制器设备10可以被配置为将相同的编译逻辑应用于图模型的创建、更新和删除中的每一个。
通常,像控制器设备10这样的控制器可以使用层次数据模型用于意图、低级数据模型和资源。层次数据模型可以基于YANG或YAML。如上所述,层次数据模型可以表示为图。意图的使用可以简化网络的管理,意图是声明性的。为了实现意图,控制器设备10可以尝试从网元14和/或从其他设备选择最佳资源。
一般而言,控制器设备10可被配置为将高级配置(例如,从管理员接收到的用于多个被管理网络设备的意图)转换为低级配置,低级配置在此也可被称为“设备级配置”(将被应用于被管理网络设备本身)。在一些实例中,控制器设备10可以接收用于网元14A的拓扑和角色的指示,并生成用于设备14A的设备级配置信息。例如,管理员12可以为网元14A选择拓扑和角色,并提供意图。在一些实施例中,控制器设备10可基于设备14A在拓扑(例如,脊和叶拓扑)中的角色(例如,脊或叶)、拓扑和意图,为网元14A生成设备级配置。
例如,控制器设备10可以从管理员12接收意图。在该实施例中,控制器设备10可以使用来自管理员12的意图来确定意图模型(例如,意图图模型,intent graph model)。从管理员12接收的意图可以包括,例如,一组需求,该组需求包括标识期望服务的意图的说明和用于实现该意图的相关参考设计。参考设计可以标识部件系统和设备被组织以提供服务的标准方式。例如,参考设计可以标识用于提供预期网络服务的网络拓扑和协议。该意图可以指定与要使用的参考设计无关的期望服务的一个或多个需求(例如,声明性网络需求)。例如,该意图可以指定网元14的20个网元将被网络互联在一起。通过分离意图的说明和参考设计,可以通过简单地指定不同的参考设计和相同的意图,实现该意图的不同参考设计的实现。这组需求可以包括一组声明性需求。例如,声明性需求可能表示网络部件的期望配置,而不指定确切的本机设备配置和控制流。通过使用声明性需求,可以指定应该完成什么,而不是应该如何完成。声明性需求可能与命令性指令形成对比,命令性指令描述用于实现配置的精确的设备配置语法和控制流。通过利用声明性需求而不是命令性指令,可以减轻管理员12确定实现用户/系统的期望结果所需的确切设备配置的负担。例如,当使用来自不同供应商的各种不同类型的设备时,指定和管理精确的命令性指令以配置网络的每个设备通常是困难和繁重的。网络2的设备的类型和种类可以随着新设备的添加和设备故障的发生而动态更改。使用不同的配置协议、语法和软件版本来管理来自不同供应商的各种不同类型的设备,以配置设备的内聚网络通常是很难实现的。因此,通过仅要求用户/系统指定规定适用于各种不同类型设备的期望结果的声明性需求,网络设备的管理和配置变得更加有效。
例如,控制器设备10可以使网元14使用图模型来实现网络服务。例如,控制器设备10可以生成用于网元14的高级指令。在一些情况下,控制器设备10可以向网元14的每个网元输出高级指令。另外或可替代地,控制器设备10可以从高级指令中确针对定网元14的一个或多个网元的相应的低级指令,并将相应的低级指令输出到网元14的一个或多个网元中的每个网元。
本发明的技术提供了一种机制,该机制可以减少响应于对由客户识别的事件(例如,在过去发生的特定时间处的服务中断)的查询而显示给网络管理员的度量(例如,接口流量、收发信机负载、收发信机功率等)的量。例如,响应于对特定时间的事件的查询,可能存在针对虚拟网络的上百万路由的许多度量。一些系统可能依赖网络管理员来查看最接近事件时间的可用度量,以手动识别相关度量。
本公开描述的技术包括配置控制器设备以基于意图模型识别事件(例如,特定时间的服务中断)的相关网络配置度量(例如,接口流量、收发信机负载、收发信机功率等)。例如,控制器设备10可以智能地识别管理员12对于特定时间和网络服务最可能感兴趣的路由子集以及路由子集的应有状态,以帮助识别预期路由、非预期额外路由和丢失路由,并推断这些路由是否正确安装,是否丢失或被网络设备上的错误路由覆盖。控制器设备10可以向用户呈现显示相关度量的用户界面。以这种方式,控制器设备10可以识别最有可能与管理员12相关的度量,这可以有助于减少管理员12响应于事件(例如,网络服务事件)而查阅度量的时间量。
在一些实施例中,本文描述的技术可被应用于提供“根本原因分析”。当应用根本原因分析时,控制器设备10可以确定网络的一个软件或硬件部件(例如,路由表中的接口或路由)中的问题将如何影响(或传播到)网络2的其他软件或硬件部件中的另一部件。例如,网元14A上的丢失路由可能导致网元14A无法建立与网元14B的边界网关协议(BGP)会话,这又可能导致网元14A和14B无法交换用于虚拟网络的路由,这进而可能导致部署在该虚拟网络内的服务被中断,这对应于管理员12试图故障排除的服务中断事件。
本公开描述的技术可以使用基于意图模型非周期性地存储事件驱动数据的时间序列数据收集技术,这可以减少由控制器设备10存储的数据量和/或提高在特定时间内存储的度量的准确性。在该实施例中,控制器设备10可以“重放”在过去的特定时间的度量。例如,控制器设备10可以被配置为有区别地对周期性数据(例如,接口计数器)和事件驱动数据(例如,接口上/下)快照遥测数据。周期性数据的示例可能包括传输了多少字节以及接口发生了多少错误。传感器设备(例如,布置在网元14的网元处或布置在网元14的外部)可以周期性地(例如,每五秒或每分钟)产生周期性数据。在此实施例中,传感器设备可以将周期性数据流传输到控制器设备。事件驱动数据的示例可以包括接口状态是启动(up)还是禁止(down)、故障、磁盘输入输出(IO)故障、路由信息或网络故障。对于事件驱动数据,控制器设备10可以响应于事件驱动数据的更改而存储事件驱动数据。例如,如果接口已经启动了非常非常长的时间,控制器设备可能不会记录事件。在该实施例中,控制器设备10可以在接口从启动改变到禁止时记录事件。
根据本公开的技术,控制器设备10可以被配置为基于意图模型识别事件(例如,特定时间的服务中断)的相关网络配置度量(例如,接口流量、收发信机负载、收发信机功率等)。例如,控制器设备10可以智能地识别网络管理员对于特定时间和网络服务最可能感兴趣的路由子集以及路由子集的状态,并且可以提供针对路由子集的每个路由的度量(例如,状态)。控制器设备10可以识别预期路由、非预期额外路由和丢失路由。在一些实施例中,控制器设备10可以推断这些路由是否正确安装,丢失或被网元14的网元上的错误路由覆盖。控制器设备10可以向管理员12呈现显示相关度量的用户界面。以这种方式,控制器设备10可以识别最有可能与网络管理员相关的度量,这可以有助于减少管理员12响应于事件(例如,网络2的网络服务事件)而查阅度量的次数。虽然上述实施例针对路由,但其他实施例可以附加地或可替代地包括其他配置元,例如接口或流。
例如,控制器设备10可以从管理员12接收指示时间和网络服务的查询。下面是一个示例查询。
字段的含义:
蓝图(Blueprint)和探针(probe)名称编码在查询URL中
“stage”:分析流水线中的阶段。名称用于标识从阶段生成的度量
“filter”:选择感兴趣的数据集
“order_by”:如何对结果进行排序,以便调用方更容易解析和呈现
“begin_time”:时间窗口的开始
“end_time”:窗口结束
响应包括“begin_time”处选定度量的快照,以及begin_time和end_time之间的时间序列数据。
控制器设备10可以使用与时间和网络服务相关联的遥测数据来确定用于查询的第一组配置元。如本公开所使用的,与时间和网络服务相关联的遥测数据可指在包括该时间的时间范围内由一个或多个传感器设备为网络设备14收集的数据,其中传感器设备监测在该时间范围内实现网络服务的软件部件和/或硬件部件。例如,控制器设备10可以从网络2的所有路由中确定在该时间受网络服务影响的第一路由子集。例如,控制器设备10可以使用从网元14接收的遥测数据,从网络2的所有路由中确定在该时间受网络服务影响的第一路由子集。在一些实施例中,控制器设备10可以从网络2的所有接口中确定在该时间受网络服务影响的第一接口子集。例如,控制器设备10可以使用从网元14接收的遥测数据,从网络2的所有接口确定在该时间受网络服务影响的第一接口子集。
控制器设备10可以使用意图模型为查询确定第二组配置元。例如,控制器设备10可以使用从管理员12接收的意图来确定意图模型。如上文详细讨论的,控制器设备10可以使用意图模型配置网元14。例如,控制器设备10可以使用意图模型确定来自网络2的所有路由的第二路由子集。在一些实例中,控制器设备10可以使用意图模型从网络2的所有接口中确定第二接口子集。
控制器设备10可以以层次方式识别意图。例如,控制器设备10可通过蓝图(blueprint)识别意图,蓝图可与多个数据中心的数据中心相关联用以查询。接着,控制器设备10可以应用探针(probe),其定义蓝图的子图(sub-graph),例如来自蓝图的虚拟网络相关节点/关系。应用探针还可以使控制器设备10指定子图的哪个方面正在被监视,例如vxlan活动泛化列表路由表。此外,应用探针还可使控制器设备10定义分析流水线。分析流水线可以包括多个阶段,例如,第一阶段可以保持跟踪由网络设备报告的所有路由,第二阶段可以计算每个虚拟网络的每个设备的丢失/额外路由,第三阶段将丢失路由与用户定义的阈值进行比较,并根据需要提出异常等等。因此,控制器设备10可以在与意图具有镜像地相同的结构的文件系统上存储时间序列数据。例如,控制器设备10可以存储以蓝图命名的顶层目录,然后存储以探针命名的子目录,等等。存储以蓝图命名的顶层目录,然后存储以探针命名的子目录等,在这里可以称为度量的“命名空间”说明。以这种方式,控制器设备10可以将来自管理员12的查询映射到相同的命名空间说明。
控制器设备10可以使用第一组配置元和第二组配置元来确定针对该查询的一个或多个度量。例如,控制器设备10可以基于使用遥测数据确定的第一组配置元和使用意图模式确定的第二组配置元的比较来识别一个或多个丢失的或意外的配置元(例如,路由或接口)。在该实施例中,控制器设备10可以为与一个或多个丢失或意外配置元相关联的查询确定一个或多个度量(例如,状态)。在一些实施例中,控制器设备10可以确定丢失路由是否被另一路由覆盖。控制器设备10可以确定丢失路由是否不当安装在网元14的网元处。类似地,控制器设备10可以确定在网元14的网元处是否不当安装了意外路由。虽然上面的示例涉及路由,但其他示例可能涉及其他配置元,例如接口(参见图4,5)。
控制器设备10可以生成表示用户界面的数据,该用户界面呈现针对查询在第一时间和在第一时间之前或之后发生的第二时间的一个或多个度量。例如,控制器设备10可以生成表、数据表、交互式仪表板等,说明在第一时间和第二时间的一个或多个度量。控制器设备10可以输出表示用户界面的数据。例如,控制器设备10可以使表示用户界面的数据输出在显示器上以供管理员12查看。以这种方式,控制器设备10可以帮助识别最有可能与管理员12相关的度量,这可以帮助减少管理员12响应于事件(例如,网络服务事件)而查阅度量的时间量。
图2是说明图1的控制器设备10的示例部件组的框图。在该实施例中,控制器设备10包括控制单元22、网络接口34和用户接口36。网络接口34表示可通信地将控制器设备10耦接到外部设备(例如,图1的网元14之一)的示例接口。网络接口34可以表示无线和/或有线接口(例如,以太网接口或无线电收发器),被配置为根据无线标准进行通信,例如IEEE802.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接收输入和/或向其提供输出。控制单元22还执行网络接口模块32以经由网络接口34发送和接收数据(例如,数据包)。用户接口模块38、网络接口模块32和管理模块24可以再次实现为各自的硬件单元,或者在软件或固件中,或者它们的组合中实现。
控制单元22执行管理模块24以管理各种网络设备,例如,图1的网元14。管理包括,例如,根据从用户(例如,图1的管理员12)接收的指令配置网络设备,并向用户提供提交指令以配置网络设备的能力。在该实施例中,管理模块24还包括配置模块26和转换模块28。
管理模块24被配置为从诸如管理员12的用户接收对一组被管理网络设备的意图(例如,高级配置指令)。在一些实施例中,管理模块24在此可称为“结构管理器”。随着时间的推移,用户可更新配置指令,例如,添加新服务、移除现有服务或修改由被管理设备执行的现有服务。意图可以根据例如YANG来结构化。在一些实施例中,管理模块24还向用户提供提交转换功能的能力,转换模块28执行该转换功能以将意图转换为设备专用的低级配置指令,如下所述。
控制器设备10还包括配置数据库40。配置数据库40可以包括描述被管理的网络设备(例如,网络网元14)的数据结构。配置数据库40可用作意图数据存储器,其可用于保存和管理意图数据模型的集合。例如,配置数据库40可以包括指示设备标识符(例如MAC和/或IP地址)、设备类型、设备供应商、设备种类(例如路由器、交换机、桥接器、集线器等)等的信息。配置数据库40可以存储被管理设备(例如,网络网元14)的当前配置信息(例如,意图数据模型,或者在某些情况下,意图数据模型和低级配置信息两者)。配置数据库40可以包括包含统一意图数据模型的数据库。
管理模块24可以维持配置数据库40中的数据结构。数据结构可以包括多个顶点和多个边,该多个顶点中的每个顶点表示多个网络设备(例如,网络网元14)的相应网络设备或多个无状态意图的相应无状态意图,多个边定义多个顶点之间的关系。管理模块24可以接收有状态意图的指示。例如,管理模块24可以从诸如管理员12的用户接收用于一组被管理网络设备的意图的统一图建模的配置数据。
转换模块28(在此也可称为“设备管理器”)可使用配置数据库40来确定哪些设备被管理。转换模块28基于配置数据库40的信息确定对高级配置指令执行哪些转换功能30,例如,哪些设备要接收低级配置指令。然后,转换模块28执行转换功能30的每个确定的转换功能,将高级配置指令作为输入提供给转换功能,并接收低级配置指令。然后,转换模块28可以向配置模块26提供低级配置指令。
在从转换模块28接收到低级配置指令之后,配置模块26通过网络接口模块32将低级配置指令发送到要更新配置的各个被管理网络设备。网络接口模块32将低级配置指令传递给网络接口34。网络接口34将低级配置指令转发到各个网络设备。在一些实施例中,网络接口34可以将高级配置指令转发到各个网络设备(例如,在不将高级配置指令转换为低级配置指令的情况下)。
尽管描述用户接口36是为了允许管理员12(图1)与控制器设备10交互的示例,但在其他实施例中可以使用其他接口。例如,控制器设备10可以包括代表性状态传输(REST)客户端(未示出),其可以充当到另一设备的接口,管理员12可以通过该接口配置控制器设备10。同样,管理员12可以通过使用REST客户端与控制器设备10交互来配置网元14。
根据本公开的技术,分析模块37可被配置为基于意图模型识别事件(例如,特定时间的服务中断)的相关网络配置度量(例如,接口流量、收发信机负载、收发信机功率等)。例如,分析模块37可以智能地识别网络管理员对于特定时间和网络服务最有可能感兴趣的路由和/或接口子集以及路由和/或接口子集的状态。分析模块37可以为所识别的路由和/或接口子集的每个路由和/或接口提供度量(例如,状态)。分析模块37可以识别预期的、非预期的额外路由和/或丢失路由或接口。在一些实施例中,分析模块37可以确定那些路由和/或接口在网元14的网元上是否被正确安装、丢失或被错误路由覆盖。用户接口模块38可以向管理员12呈现显示相关度量的用户界面。以这种方式,控制器设备10可以识别最有可能与网络管理员相关的度量,这可以有助于减少管理员12响应于事件(例如,网络2的网络服务事件)而查阅度量的时间量。
例如,用户接口36可以从管理员12接收指示时间和网络服务的查询。分析模块37可以使用存储在遥测数据库(DB)39中并与时间和网络服务相关联的遥测数据来确定用于查询的第一组配置元。例如,分析模块37可以使用遥测数据库39从网络2的所有路由中确定在该时间受该网络服务影响的第一路由子集。在一些实施例中,分析模块37可以从网络2的所有接口中确定在该时间受该网络服务影响的第一接口子集。
分析模块37可以使用由配置数据库40存储的意图模型来确定用于查询的第二组配置元。例如,分析模块37可以使用由配置数据库40存储的意图模型来确定来自网络2的所有路由的第二路由子集。在一些实例中,控制器设备10可以使用由配置数据库40存储的意图模型从网络2的所有接口中确定第二接口子集。
分析模块37可以使用第一组配置元和第二组配置元来确定针对查询的一个或多个度量。例如,分析模块37可基于使用遥测数据库39中存储的遥测数据确定的第一组配置元和使用由配置数据库40存储的意图模型确定的第二组配置元的比较,识别一个或多个丢失或意外的配置元(例如,路由或接口)。在该实施例中,分析模块37可以为与一个或多个丢失或意外配置元相关联的查询确定一个或多个度量(例如,状态)。在一些实施例中,分析模块37可以确定丢失路由是否被另一路由覆盖。分析模块37可以确定丢失路由是否不当安装在网元14的网元处。类似地,分析模块37可确定意外路径是否在网元14的网元处被不当安装。虽然上面的示例涉及路由,但其他示例可能涉及其他配置元,例如接口(参见图4,5)。
用户接口模块38可以生成表示用户界面的数据,该用户界面呈现一个或多个度量。例如,用户接口模块38可以生成示出一个或多个度量的表、数据表、交互式仪表板等。网络接口模块32可使网络接口34输出表示用户界面的数据。例如,用户接口模块38可以利用网络接口模块32和网络接口34使表示用户界面的数据输出在显示器上,以供管理员12查看。以这种方式,控制器设备10可以帮助识别最有可能与管理员12相关的度量,这可以帮助减少管理员12响应于事件(例如,网络服务事件)查阅度量的时间量。
图3是一个概念图,示出了使用图1的管理设备确定丢失接口的度量的示例。图3结合图1至2讨论只是为了举例。虽然图3的示例示出了5个接口,但其他示例可能包括少于4个接口和多于5个接口。
在图3的实施例中,分析模块37可以使用存储在遥测数据库39中的与查询中指示的时间和网络服务相关联的遥测数据来确定针对查询的接口221、222、224。例如,分析模块37可以响应于确定存储在遥测数据库39中的一组遥测数据在查询中指定的时间被网元14的传感器设备检测到并且与实现查询中指定的网络服务有关,确定接口221、222、224与该组遥测数据相关联。例如,分析模块37可以使用用于在遥测数据库39中存储遥测数据(例如,时间序列数据)的相同命名空间说明将接口221、222、224映射到查询。
分析模块37可以使用存储在配置数据库40中的意图模型来确定用于查询的接口211至215。例如,分析模块37可以响应于确定意图模型指示接口211至215被配置为在查询中指示的时间期间实现查询中指示的网络服务来确定针对查询的接口211至215。在该实施例中,分析模块37可确定包括在接口211至215(例如,第二组接口)中且不包括在接口221、222、224(例如,第一组接口)中的丢失接口233、235。分析模块37可以确定丢失接口233的度量。例如,分析模块37可以确定丢失接口233的状态(例如,启动或禁止)。
在一些实施例中,分析模块37可以确定丢失接口233是否被另一接口覆盖的指示。例如,分析模块37可以确定丢失接口233被接口224覆盖。在该实施例中,分析模块37可生成指示丢失接口233已被接口224覆盖的度量。
在一些实施例中,分析模块37可以确定丢失接口233是否被不当安装在网元14的网元处的指示。例如,分析模块37可以确定丢失接口233被不当安装在网元14A处。在该实施例中,分析模块37可生成指示丢失接口233在网元14A处被不当安装的度量。
图4是一个概念图,示出了使用图1的管理设备为意外接口确定度量的示例。图4结合图1至3讨论只是为了举例。虽然图4的示例示出了5个接口,但其他示例可能包括少于4个接口和多于5个接口。
在图4的实施例中,分析模块37可以使用存储在遥测数据库39中的与查询中指示的时间和网络服务相关联的遥测数据来确定针对查询的接口321至325。例如,分析模块37可以响应于确定存储在遥测数据库39中的一组遥测数据在查询中指定的时间被网元14的传感器设备检测到并且与实现查询中指定的网络服务相关联,确定接口321至325与该组遥测数据相关联。
分析模块37可以使用存储在配置数据库40中的意图模型来确定用于查询的接口311、312、314。例如,分析模块37可以响应于确定意图模型指示接口311、312、314被配置为在查询中指示的时间期间实现查询中指示的网络服务来确定用于查询的接口311、312、314。在该实施例中,分析模块37可确定包括在接口321至325(例如,第一组接口)中且不包括在接口311、312、314(例如,第二组接口)中的意外接口333、335。分析模块37可以确定意外接口333的度量。例如,分析模块37可以确定意外接口333的状态(例如,启动或禁止)。用于意外接口333的示例度量可以包括光收发器操作状态,例如温度、电压、汲取的电流等。在这种情况下,接口333可以不在蓝图设计中使用(如由意图模型指示的),但可以配备有光收发器。设备收集器可以向控制器设备10报告设备收集器的状态,控制器设备10又将数据保存到时间序列数据库(例如,遥测数据库39)。
在一些实施例中,分析模块37可以确定意外接口333是否在网元14的网元上被不当安装的指示。例如,分析模块37可以确定意外接口333被不当安装在网元14A处。在该实施例中,分析模块37可生成指示意外接口333在网元14A处被不当安装的度量。
图5是一个概念图,示出了使用图1的管理设备确定丢失路由的度量标准的示例。图5结合图1至4讨论只是为了举例。虽然图5的实施例示出了5条路由,但其他实施例可能包括少于4条路由和多于5条路由。
在图5的实施例中,分析模块37可以使用存储在遥测数据库39中的与查询中指示的时间和网络服务相关联的遥测数据确定用于查询的路由421、422、424。例如,分析模块37可以响应于确定存储在遥测数据库39中的一组遥测数据在查询中指定的时间被网元14的传感器设备检测到并且与实现查询中指定的网络服务有关,确定路由421、422、424与该组遥测数据相关联。
分析模块37可以使用存储在配置数据库40中的意图模型来确定用于查询的路由411至415。例如,分析模块37可以响应于确定意图模型指示路由411至415被配置为在查询中指示的时间期间实现查询中指示的网络服务来确定针对查询的路由411至415。在该实施例中,分析模块37可确定包括在路由411至415(例如,第二路由集)中且不包括在路由421、422、424(例如,第一路由集)中的丢失路由433、435。分析模块37可以确定丢失路由433的度量。例如,分析模块37可以跟踪路由处于“丢失”多长时间。分析模块37可以聚集每个系统每个网络的丢失路由。例如,分析模块37可以向管理员12输出“叶-1在虚拟网络10000中缺少5条路由”的指示。
在一些实施例中,分析模块37可以确定路由433是否被另一路由覆盖的指示。例如,分析模块37可以确定丢失路由433被路由424覆盖。在该实施例中,分析模块37可生成指示丢失路由433已被路由424覆盖的度量。
在一些实施例中,分析模块37可以确定丢失路由433是否在网元14的网元上被不当安装的指示。例如,分析模块37可以确定丢失路由433在网元14A处被不当安装。在该实施例中,分析模块37可生成指示丢失路由433在网元14A处被不当安装的度量。
图6是一个概念图,示出了使用图1的管理设备为意外路由确定度量的实施例。图6结合图1至5讨论仅作举例。虽然图6的实施例示出了5条路由,但其他实施例可能包括少于4条路由和多于5条路由。
在图6的实施例中,分析模块37可以使用存储在遥测数据库39中的与查询中指示的时间和网络服务相关联的遥测数据来确定用于查询的路由521至525。例如,分析模块37可以响应于确定存储在遥测数据库39中的一组遥测数据在查询中指定的时间被网元14的传感器设备检测到并且与实现查询中指定的网络服务有关,确定路由521至525与该组遥测数据相关联。
分析模块37可以使用存储在配置数据库40中的意图模型来确定用于查询的路由511、512、514。例如,分析模块37可以响应于确定意图模型指示路由511、512、514被配置为在查询中指示的时间期间实现查询中指示的网络服务来确定针对该查询的路由511、512、514。在该实施例中,分析模块37可确定包括在路由521至525(例如,第一组路由)中且不包括在路由511、512、514(例如,第二组路由)中的意外路由533、535。分析模块37可以确定意外路由533的度量。例如,分析模块37可以确定意外路由533的路由地址。
在一些实施例中,分析模块37可以确定意外路径533是否被不当安装在网元14的网元上的指示。例如,分析模块37可以确定意外路径533被不当安装在网元14A处。在该实施例中,分析模块37可生成指示意外路径533被不当安装在网元14A处的度量。
图7是示出根据本公开技术的用于基于意图模型从遥测数据的数据库确定一个或多个度量的示例过程的流程图。图7结合图1至6讨论只是为了举例。
控制器设备10可以从管理员12接收意图(700)。例如,控制器设备10可以从管理员12接收表达网络2的网络部件的期望配置不指定确切的本地设备配置和控制流的一组声明性需求。控制器设备10可以基于意图确定图模型(702)。例如,控制器设备10可以使用作为意图模型(例如,统一的图模型)对接收到的意图进行建模,扩展新的意图支持需要扩展图模型和编译逻辑。意图模型可以包括多个顶点和多个边,多个顶点的每个顶点表示多个网络设备的相应网络设备或多个无状态意图的相应无状态意图,并且多个边定义多个顶点之间的关系。
控制器设备10可以配置网络设备14以使用意图模型实现网络服务(704)。例如,控制器设备10可以使用意图模型来确定用于网络设备14A的高级配置信息,并且使得网络设备14使用意图高级配置信息来配置硬件或软件网络部件(例如,路由或接口)。例如,控制器设备10可以将高级配置信息输出到网络设备14A,并且网络设备14A(例如,在网络设备14A操作的代理)可以被配置为将高级配置信息转换为用于网络设备14A的低级设备配置信息。在一些实例中,控制器设备10可以将高级配置信息转换为用于网络设备14A的低级设备配置信息,并将低级设备配置信息输出到网络设备14A。
控制器设备10可以接收指示第一时间和网络服务的查询(706)。例如,控制器设备10可以从管理员12接收指示时间和使用来自步骤700的意图实现的网络服务的查询。控制器设备10可以使用与时间和网络服务相关联的遥测数据来确定用于查询的第一组配置元(708)。例如,控制器设备10可以使用遥测数据库39中存储的、在查询中指定的第一时间被传感器设备检测到并且与网络服务相关的遥测数据来确定用于查询的第一组路由。在一些实施例中,控制器设备10可以使用遥测数据库39中存储的、在查询中指定的时间被传感器设备检测到并且与网络服务有关的遥测数据来确定用于查询的第一组接口。
控制器设备10可以使用意图模型确定用于查询的第二组配置元(710)。例如,控制器设备10可以使用存储在配置数据库40中的意图模型来确定针对查询的第二组路由,其中,第二组路由在查询中指定的时间期间实现网络服务。在一些实施例中,控制器设备10可以使用存储在配置数据库40中的意图模型来确定用于查询的第二组接口,该第二组接口在查询中指定的时间期间实现网络服务。
控制器设备10可以使用第一组配置元和第二组配置元来确定在第一时间发生的一个或多个第一度量(712),并且使用从多个网络设备接收的遥测数据来确定在第二时间发生的一个或多个第二度量(714)。确定在第一时间发生的一个或多个第一度量和在第二时间发生的一个或多个第二度量可有助于识别最有可能与管理员12相关的度量,这可有助于减少管理员12响应于事件(例如,网络服务事件)查阅度量的时间量。
例如,控制器设备10可以确定包括在第二组接口中而不包括在第一组接口中的丢失接口(参见图3)。在该实施例中,控制器设备10可以针对丢失接口确定在第一时间的第一度量和在第二时间的第二度量。第一时间和第二时间可能不同。例如,第二时间可能发生在第一时间之前或之后。控制器设备10可以确定丢失接口是否被另一接口覆盖的指示和/或丢失接口是否被不当安装在多个网络设备中的网络设备的指示。
在一些实施例中,控制器设备10可以确定包括在第一组接口中而不包括在第二组接口中的意外接口(参见图4)。在该实施例中,控制器设备10可以确定意外接口的度量。控制器设备10可以确定意外接口是否被不当安装在网络设备14的网络设备上的指示。
控制器设备10可以确定包括在第二组路由中而不包括在第一组路由中的丢失路由(参见图5)。在该实施例中,控制器设备10可以确定丢失路由的度量。控制器设备10可以确定丢失路由是否被另一接口覆盖的指示和/或丢失路由是否被不当安装在网络设备14的网络设备的指示。
在一些实施例中,控制器设备10可能确定包括在第一组路由中而不包括在第二组路由中的意外路由(见图6)。在该实施例中,控制器设备10可以确定意外路由的度量。控制器设备10可以确定意外路由是否被不当安装在网络设备14的网络设备上的指示。
控制器设备10可以生成表示用户界面的数据,该用户界面呈现一个或多个第一度量和一个或多个第二度量(716)。例如,控制器设备10可以生成显示预期路由、意外额外路由和丢失路由的一个或多个度量的仪表板。控制器设备10可以输出表示用户界面的数据(718)。例如,控制器设备10可以使表示用户界面的数据输出在显示器上以供管理员12查看。
本公开中描述的技术可以至少部分地以硬件、软件、固件或其任何组合来实现。例如,所述技术的各个方面可以在一个或多个处理器内实现,所述处理器包括一个或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或任何其他等效的集成或离散逻辑电路,以及这些部件的任何组合。术语“处理器”或“处理电路”一般可指上述逻辑电路中的任何一个,单独或与其他逻辑电路组合,或任何其他等价电路。包括硬件的控制单元也可以执行本公开的一个或多个技术。
这样的硬件、软件和固件可以在相同的设备内或在单独的设备内实现,以支持本公开中描述的各种操作和功能。此外,所描述的单元、模块或部件中的任何一个可以一起或单独地实现为离散但可互操作的逻辑器件。将不同特征描述为模块或单元旨在突出不同的功能方面,并不一定意味着这些模块或单元必须由单独的硬件或软件部件来实现。相反,与一个或多个模块或单元相关联的功能可以由单独的硬件或软件部件执行,或者集成在公共或单独的硬件或软件部件内。
本公开中描述的技术也可以体现或编码在计算机可读介质中,例如包含指令的计算机可读存储介质中。嵌入或编码在计算机可读介质中的指令可使可编程处理器或其他处理器执行该方法,例如,当指令被执行时。计算机可读介质可以包括非瞬时计算机可读存储介质和瞬时通信介质。有形且非短暂的计算机可读存储介质可包括随机存取存储器(RAM)、只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电子可擦除可编程只读存储器(EEPROM)、闪存、硬盘、CD-ROM、软盘、盒式磁带、磁介质、光介质或其他计算机可读存储介质。术语“计算机可读存储介质”指的是物理存储介质,而不是信号、载波或其他瞬态介质。
各种实施例已进行了描述。这些和其他实施例在权利要求书的范围内。
Claims (20)
1.一种管理多个网络设备的方法,所述方法包括:
由管理所述多个网络设备的设备的一个或多个处理器接收指示第一时间和网络服务的查询;
由所述一个或多个处理器使用从所述多个网络设备接收且与所述第一时间和所述网络服务相关联的遥测数据确定所述多个网络设备的第一组配置元;
由所述一个或多个处理器使用意图模型确定所述多个网络设备的第二组配置元;
由所述一个或多个处理器使用所述第一组配置元和所述第二组配置元确定在所述第一时间发生的一个或多个第一度量;
由所述一个或多个处理器使用从所述多个网络设备接收的遥测数据确定在第二时间的一个或多个第二度量;
由所述一个或多个处理器生成表示用户界面的数据,所述用户界面呈现所述一个或多个第一度量和所述一个或多个第二度量;以及
由所述一个或多个处理器输出表示所述用户界面的数据。
2.根据权利要求1所述的方法,其中,所述意图模型包括多个顶点和多个边,所述多个顶点中的每个顶点表示所述多个网络设备中的相应的网络设备或多个无状态意图中的相应的无状态意图,所述多个边定义所述多个顶点之间的关系。
3.根据权利要求1所述的方法,
其中,确定所述第一组配置元包括确定第一组路由;并且
其中,确定所述第二组配置元包括确定第二组路由。
4.根据权利要求3所述的方法,还包括:确定包括在所述第二组路由中但不包括在所述第一组路由中的丢失路由,其中,确定所述一个或多个度量包括确定所述丢失路由的度量。
5.根据权利要求4所述的方法,其中,确定所述度量包括:确定所述丢失路由是否被另一路由覆盖的指示。
6.根据权利要求4所述的方法,其中,确定所述度量包括:确定所述丢失路由是否被不当安装在所述多个网络设备中的网络设备处的指示。
7.根据权利要求3所述的方法,还包括:确定包括在所述第一组路由中但不包括在所述第二组路由中的意外路由,其中,确定所述一个或多个度量包括:确定所述意外路由的度量。
8.根据权利要求7所述的方法,其中,确定所述度量包括:确定所述意外路由是否被不当安装在所述多个网络设备中的网络设备处的指示。
9.根据权利要求1所述的方法,
其中,确定所述第一组配置元包括确定第一组接口;并且
其中,确定所述第二组配置元包括确定第二组接口。
10.根据权利要求9所述的方法,还包括:确定包括在所述第二组接口中但不包括在所述第一组接口中的丢失接口,其中,确定所述一个或多个度量包括:确定所述丢失接口的度量。
11.根据权利要求10所述的方法,其中,确定所述度量包括:确定所述丢失接口是否被另一接口覆盖的指示。
12.根据权利要求10所述的方法,其中,确定所述度量包括:确定所述丢失接口是否被不当安装在所述多个网络设备中的网络设备处的指示。
13.根据权利要求9所述的方法,还包括:确定包括在所述第一组接口中但不包括在所述第二组接口中的意外接口,其中,确定所述一个或多个度量包括:确定所述意外接口的度量。
14.根据权利要求13所述的方法,其中,确定所述度量包括:确定所述意外接口是否被不当安装在所述多个网络设备中的网络设备处的指示。
15.根据权利要求1至14中任一项所述的方法,还包括:由所述一个或多个处理器使用所述意图模型配置所述多个网络设备以实现所述网络服务。
16.根据权利要求15所述的方法,其中,配置所述多个网络设备包括:
使用所述意图模型确定用于网络设备的高级配置信息;以及
使所述网络设备使用意图高级配置信息进行配置。
17.根据权利要求16所述的方法,
其中,使所述网络设备进行配置包括:向所述网络设备输出所述高级配置信息;以及
其中,所述网络设备被配置为将所述高级配置信息转换为用于所述网络设备的低级设备配置信息。
18.根据权利要求16所述的方法,其中,使所述网络设备进行配置包括:
将所述高级配置信息转换为用于所述网络设备的低级设备配置信息;以及
向所述网络设备输出低级配置信息。
19.一种控制器设备,包括:
存储器;
耦接到所述存储器的一个或多个处理器;以及
其中,所述存储器存储指令,所述指令在被执行时使所述一个或多个处理器:
接收指示第一时间和网络服务的查询;
使用从所述多个网络设备接收且与所述第一时间和所述网络服务相关联的遥测数据确定所述多个网络设备的第一组配置元;
使用意图模型确定所述多个网络设备的第二组配置元;
使用所述第一组配置元和所述第二组配置元确定在所述第一时间发生的一个或多个第一度量;
使用从所述多个网络设备接收的遥测数据确定在第二时间的一个或多个第二度量;
生成表示用户界面的数据,所述用户界面呈现所述一个或多个第一度量和所述一个或多个第二度量;以及
输出表示所述用户界面的数据。
20.一种计算机可读存储介质,所述计算机可读存储介质编码有用于使一个或多个可编程处理器执行权利要求1至18中任一项所述的方法的指令。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/657,519 | 2022-03-31 | ||
US17/657,519 US11582099B1 (en) | 2022-03-31 | 2022-03-31 | Predictive pipeline analytics for a network management system |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116938702A true CN116938702A (zh) | 2023-10-24 |
Family
ID=82067695
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210702556.XA Pending CN116938702A (zh) | 2022-03-31 | 2022-06-21 | 用于网络管理系统的预测流水线分析 |
Country Status (3)
Country | Link |
---|---|
US (2) | US11582099B1 (zh) |
EP (1) | EP4254893A1 (zh) |
CN (1) | CN116938702A (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11582099B1 (en) | 2022-03-31 | 2023-02-14 | Juniper Networks, Inc. | Predictive pipeline analytics for a network management system |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050004942A1 (en) | 2003-04-02 | 2005-01-06 | Madsen Mark E. | Methods and systems for controlling network infrastructure devices |
US9106555B2 (en) * | 2012-01-25 | 2015-08-11 | Cisco Technology, Inc. | Troubleshooting routing topology based on a reference topology |
US9742626B2 (en) * | 2014-09-16 | 2017-08-22 | CloudGenix, Inc. | Methods and systems for multi-tenant controller based mapping of device identity to network level identity |
US10313206B1 (en) | 2015-12-23 | 2019-06-04 | Apstra, Inc. | Verifying service status |
US10200248B1 (en) | 2016-06-30 | 2019-02-05 | Juniper Networks, Inc. | Translating high-level configuration instructions to low-level device configuration |
US11567994B2 (en) * | 2017-01-24 | 2023-01-31 | Apstra, Inc. | Configuration, telemetry, and analytics of a computer infrastructure using a graph model |
US10516761B1 (en) | 2017-03-17 | 2019-12-24 | Juniper Networks, Inc. | Configuring and managing network devices using program overlay on Yang-based graph database |
US20180359172A1 (en) * | 2017-06-12 | 2018-12-13 | Juniper Networks, Inc. | Network path prediction and selection using machine learning |
US10637756B2 (en) * | 2017-11-13 | 2020-04-28 | Cisco Technology, Inc. | Traffic analytics service for telemetry routers and monitoring systems |
US10756983B2 (en) * | 2017-12-08 | 2020-08-25 | Apstra, Inc. | Intent-based analytics |
US20190238410A1 (en) | 2018-01-31 | 2019-08-01 | Hewlett Packard Enterprise Development Lp | Verifying network intents |
US10911336B2 (en) * | 2018-10-22 | 2021-02-02 | Juniper Networks, Inc. | Scalable visualization of health data for network devices |
US10992543B1 (en) * | 2019-03-21 | 2021-04-27 | Apstra, Inc. | Automatically generating an intent-based network model of an existing computer network |
US11258673B2 (en) * | 2019-05-03 | 2022-02-22 | Cisco Technology, Inc. | Machine learning driven data collection of high-frequency network telemetry for failure prediction |
US11582099B1 (en) | 2022-03-31 | 2023-02-14 | Juniper Networks, Inc. | Predictive pipeline analytics for a network management system |
-
2022
- 2022-03-31 US US17/657,519 patent/US11582099B1/en active Active
- 2022-06-15 EP EP22179250.0A patent/EP4254893A1/en active Pending
- 2022-06-21 CN CN202210702556.XA patent/CN116938702A/zh active Pending
- 2022-11-28 US US18/059,179 patent/US11811601B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US11811601B2 (en) | 2023-11-07 |
US11582099B1 (en) | 2023-02-14 |
US20230318917A1 (en) | 2023-10-05 |
EP4254893A1 (en) | 2023-10-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3700132B1 (en) | Supporting compilation and extensibility on unified graph-based intent models | |
EP3620920B1 (en) | Dynamic intent assurance and programmability in computer networks | |
EP3716532B1 (en) | Supporting concurrency for graph-based high level configuration models | |
EP3716534B1 (en) | Supporting near real time service level agreements | |
US8111632B2 (en) | Method for logical deployment, undeployment and monitoring of a target IP network | |
US11405260B2 (en) | Network model aware diagnosis of a network | |
CN112311583B (zh) | 意图感知情境设备配置备份和恢复 | |
US11936520B2 (en) | Edge controller with network performance parameter support | |
EP3952212B1 (en) | Using a programmable resource dependency mathematical model to perform root cause analysis | |
US11811601B2 (en) | Predictive pipeline analytics for a network management system | |
EP3823215A1 (en) | Network model aware diagnosis of a network | |
CN115883509A (zh) | 使用源标识符进行源标识的边缘设备 | |
US11729075B1 (en) | Time series data collection for a network management system | |
CN113381875A (zh) | 支持来自异构数据源的客户端数据模型的服务器 | |
US11956116B2 (en) | Programmable diagnosis model for correlation of network events | |
WO2023249507A1 (en) | Anomaly detection for network devices using intent-based analytics | |
CN117616401A (zh) | 网络管理系统的分析重放 | |
CN116233646A (zh) | 用于遥测流数据收集的边缘设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |