阿凡达

模型驱动遥测

远程测量用于订阅远程设备有意义的数据和测量数据并将其传送到接收系统监测分析数据允许网络管理员主动视觉化网络并帮助他们自动化任务和预测容量需求当我们谈论流式遥测时, 我们通常指从网络协议和包实时获取运维数据此外,我们还可以考虑将系统事件监控作为网络遥测的一部分

时间可能改变我,但我无法追踪时间David Bowie著名注解假设我们回溯远距轨迹, 变化很多, 但画出清晰进化并非直截了当。Cisco开关上有多种监控自动化口味, 这些开关有时与我们今天的协议并用。数年前运行Cisco直播NOC从开关中可视化数据使用SNMP、syslogs和Netflow自动化的趣味练习使我们的Calyst6500开关直接发送网络统计微博EEM和Tcl脚本使用协议允许我们获取粒子数据并分解客户流量事件期间今日数据中心需要高效方式从高尺度网络收集大量数据,并快速自动化使用开放API通过模型驱动遥测自动化提供,使用协议如NETCONF、RESTCONF和gNMIYANG数据模型使用这些协议为开关提供一致性、灵活性和编程框架此外,同一协议可同时用于遥测和网络配置、简化运维并增强多功能性

OpenConfig Nexus开关

Nexus9000串交换机提供不同选项,作为模型遥测数据源,包括数据管理引擎、YANG装置和OpenConfigYANGDME设备YANG特指Nexus开关,OpenConfig模型为供销中性规范,允许多平台操作系统使用同一模型这使得它成为网络可编程性强选同样的OpenConfig模型可使用,客户是否决定使用NETCONF或GNMI等开放规范等标准协议

文章中,我们强调CiscoNX-OS9.3(5)现有两个新功能

开工NETCONF事件通知

NETCONF事件通知目前使用OpenConfig支持,并可用于订阅系统事件客户从传统SNMP监测工具迁移,现在可实现类似于SNMP陷阱的功能,NETCONF通知使用YANG模型

二叉gNMI支持OpenConfig

发布器还引入GNMI支持OpenConfig

举个例子使用NETCONF和GNMI订阅系统BGP前缀总数前方法订阅事件通知,后方法订阅拨入开关遥测两种方法都利用OpenConfig数据模型

NETCONF事件通知

NETCONF支持Nexus9000开关支持各种运维带设备YANG和OpenConfig模型NETCONF事件通知Nexus9000Series开关上新机制使用NETCONF客户端从NETCONF服务器订阅系统事件并持续异步接收事件类似Syslog或SNMP陷阱提供功能,但事件生成时Yang模型树变换(deviceYang或OpenConfig模型树)。NETCONF通知先用YANG设备模型支持NX-OS9.3(1)最新的NX-OS发布9.3(5)增加支持OpenConfig模型NETCONF通知

通知格式化XML有效载荷类似NETCONF 响应事件生成时既可配置性可操作性可切换开关用户可用过滤器监控NETCONF服务器树下特定段的修改

开关配置

NETCONF事件通知使用OpenConfig支持Nexus9000Series切换最小版本9.3(5)除此外,对应OpenConfigRPM打包需要安装开关唯一需要配置的是“特性网康f”。可选择性地配置闲置会话和最大同步客户会话数

订阅

多个NETCONF客户端使用协议操作订阅事件通知订阅成功后,通知将发送给客户端,只要会话有效触发通知事件可以是配置变换(例如改变接口MTU)或操作变换(例如向上或向下或改变路由前缀数)。成功订阅响应 失败订阅返回响应 包括故障原因

NETCONF事件通知

允许每次订阅一次订阅量为容器级或列表级时,客户还收到更改子元素通知关于叶级订阅问题,客户收到更改叶元素通知ithon脚本订阅全BGP前缀通知The xpath used is "/network-instances/network-instance/protocols/protocol/bgp/global/state/total-prefixes".

ivya@Ubuntu-host:~/python/netconpppp
           
            
             NETCONF
            
            
             
              
               
                
                 
                  
                   
                    
                    
                   
                  
                 
                
               
              
             
            
           响应
           
            :
            
            
             
            
           

接收通知

通知由事件时间、操作和事件组成,下文显示BGP总前缀实例(在这种情况下开关返回154前缀)。

           
           
            
             2020-09-21T02:27:01.973+00:00
            
            
             修改后
            
            
             
              
               
                默认
               
               
                
                 
                  oc-pol-types:BGP
                 
                 
                  bgp
                 
                 
                  
                   
                    
                     154
                    
                   
                  
                 
                
               
              
             
            
           

能力交换

NETCONF通知支持在NETCONF握手期间能力交换中发布服务器通知客户它支持NETCONF通知和内置功能(在通知订阅内跨出NETCONF操作的能力)。

事件流发现

NETCONF客户端可用事件流 操作显示于此 示例类.NX-OS目前只支持NETCONF流,尽管RFC 5277允许订阅SYSLOG、SNMP和NETCONF流

NETCONF客户端

上举例子时,我使用nc客户端NETCONF客户端工具 Python订阅NETCONF事件通知脚本可见于GitHub中提供BGP示例

gNMI订阅OpenConfig

上头博客文章描述GNPI对OpenConfig支持使用强开放规范用户订阅开关上的遥测数据,开关定期或修改时发送数据随用远程graf数据库集时序和GUI可视觉化遥测数据

用户请求程序用于远程测量或较大数据查询gNMI遥测时,用户(客户)规定交付频率可以是:

欧西:数据立即返回,所有指定路径只返回一次

POLL:数据从设备返回时用当前所有指定路径值

Stream:数据持续返回中或非SAMPLE模式(数据根据样本区间定期返回)或交换模式返回数据

详情所有请求和回复可见gNMI规范.gNMI远程测量开关配置和搭建详解.

在有些情况下,客户端和服务器可分两次gNMI会议,一次流式远程测量gNMI订阅器,另一次网络配置使用gNMI获取并设置方法.用户请求说明数据请求,用户回复包括通知消息,为签名数据实体提供更新值同步响应表示所有数据值都至少传输过一次

自定义遥测采集器

上头Cisco-gnmiPython库可用于订阅交换机遥测数据库式CLI打包程序可用各种模式操作gNMI“订阅请求”流遥测数据库中还可用python脚本远程订阅。示例脚本gnmi订阅bgp.py用户从开关订阅遥测数据并显示在简单采集器上数据订阅本例是开关从BGP近邻收到的总BGP前缀,由下文xpath说明:

xpath = "/network-instances/network-instance/protocols/protocol/bgp/global/state/total-prefixes"

以上xpath使用OpenConfig模型开放配置网络深入访问数据示例脚本设置为 sAMPLE模式每10秒流出此值, 但也可用 ON_Cchange模式建立接收并格式化JSON数据后 向定制采集器输入遥测数据实例脚本显示,只要几行代码, 就能建构自己的数据库 并绘制遥测数据图自定义采集器下显示使用rdtool Python模块创建时序轮播数据库数据库存储值生成图 PNG格式绘制遥测数据图使用 Lighttpd从Nexus9000序列开关流遥测数据后发现总数BGP前缀数从175到200,

自定义遥测采集器

gNMI和OpenConfigNexus9000串交换机详情见我的白纸.

结论

Nexus9000串开关强基础模型遥测网络编程能力使用网络洞察力和意图联网时,开始自动化不可实现性

引用

  1. 数据中心遥测网络自动化使用gNMI和OpenConfig白皮书
  2. OpenConfig远程测量使用GNMI和Telegraf

  3. 网络自动化和数据模型智慧

  4. 网络编程YANG网络自动化结构YANG、NETCONF、RESTCONF和GNMI



作者类

阿凡达

维叶拉欧

技术营销工程师

数据中心联网