Telemetry协议
网络设备的统一监控,包括数据、控制、管理平面数据

奈奎斯特采样定律表示,当采样频率大于信息频率的2倍时,才能完整保留原始信号中的信息。SNMP的采集周期为5分钟,通常会导致细节信息丢失

传统SNMP是Pull mode 的请求响应式交互,每次采集数据都需要网管发起请求,设备解析请求后响应上报数据,各厂家MIB自定义,兼容性差

传统网络平均5~15分钟pulling数据,更密集的pull可能导致网络瘫痪

微突发:在非常短的时间(毫秒级)内收到非常多的突发数据,以至于瞬时突发速率达到平均的数十倍、百倍,甚至超过端口带宽,网络设备或网络性能检测软件通常是基于比较长的时间,计算网络实时带宽,这种情况下,看到流量速率通常是一条比较平稳的曲线,但是实际设备可能已由于微突发导致丢包
避免重复查询: SNMP查询是一问一答的,假设一分钟交互1k次,则SNMP解析了1000次查询请求报文 telemetry实现订阅一次,后续设备持续推送数据给网管

Network Telemetry:网络遥测技术,远程从物理设备到虚拟设备上 高速采集数据 的技术,通过推 push mode 周期性主动向采集器上送设备的接口流量统计、CPU或内存数据等信息,相对传统pull模式一问一答,提供更实时更高速的数据采集

特点:
·推模式工作
·YANG模型定义结构
·精度为亚秒级

技术优势:
·精细监控:采集数据精度高,类型丰富,充分反映网络状况
·快速定位:复杂的网络中,快速定位故障达到秒级、亚秒级故障定位速度
·主动上报:仅需配置一次订阅,设备就可以持续上报数据,减轻了设备处理和查询请求压力
Telemetry网络模型:
·广义:包括采集器、分析器、控制器和设备共同构成自闭环系统
·狭义:设备采样数据上送给采集器的功能
利用telemetry技术,采集器可以手机到大量的设备数据,然后将数据交给分析器进行综合分析,分析器将决策结果发送给控制器,由控制器调整设备的配置,便可以几乎实时地反馈调整后的设备状态是否符合预期

应用场景:
·广域网

路由器端口数据实时上报分析器,流量走向易于洞察
·园区网

园区网课通过telemetry将设备状态、有线无线数据同时监控上报分析器,实现智能运维
·数据中心

分析器接受telemetry上送的数据,计算报文的转发路径,转发时延,链路时延等,完成应用交互关系分析,实现应用和网络路径的关联,并进行统计分析,呈现、实现智能运维
数据中心的采集器通过telemetry采集设备性能数据,通过ERSPAN采集设备流镜像
监控示例:
·有线网络

分析器分析有线网络设备telemetry特性采集的设备、接口等性能metrics数据,主动监控预测网络异常

·无线网络

基于Telemetry技术,分析器监控无线侧关键KPI指标,从AP,射频,用户三个维度呈现无线侧的网络质量,主动识别弱信号覆盖,高干扰,高信道利用率等空口性能类问题
技术原理-框架
狭义上Telemetry框架分为四个模块:
·数据源
·数据生成
·数据订阅
·数据推送

协议栈:
具有分层结构
·传输层
·通信层
·数据编码层
·数据模型层


数据源:定义了可被获取的数据
支持各类YANG模型

YANG模型文件与采样路径

数据订阅:定义了数据发送端和数据获取端交互关系

静态订阅:
1、网管对设备下发静态配置,包括采样路径、采样周期、上送目标、编码信息
·支持CLI下发
·支持Netconf下发,netconf使用模型是opconfig-Telemetry.yang
2、设备启动采样任务,主动向采集器发起连接并推送数据
·支持gRPC上送,RPC方法为dataPublish
·支持UDP上送

自定义事件上报

动态订阅:
1、采集器向设备发起gRPC连接
2、采集器向设备发起动态订阅
·RPC方法:subscribe
·指定采样路径、采样周期
3、启动设备采样任务,将采样数据作为rpc方法的应答,源源不断的返回采集器


gRPC协议栈

gRPC四种服务模式:
·简单模式:一问一答
·服务端流模式:客户端发送一个请求,服务端不断返回数据给客户端
·客户端流模式:客户端不断向服务端推送数据,等待服务端应答
·双向流模式:客户端和服务端都可以发送一系列消息

数据生成:
采用GPB编码,提供了一种灵活高效自动序列化结构数据的机制,GPB与XML、JSON编码类似,但GPB是一种二进制编码,性能更高

GPB编码:通过.proto文件描述信息格式,使用数字代替标签名称

因为Protocol Buffers是以二进制进行传输,效率比XML、JSON更有优势,数据采集效率是Telemetry重点之一
数据推送:
·基于gRPC方式
·基于UDP方式

基于gRPC推送流程
gRPC面向连接,只在采集器和主控板CPU之间建立gRPC隧道


基于UDP的推送流程


推送数据格式定义(gRPC)

推送数据格式定义(UDP)

配置静态订阅:






编译完成后当前文件夹下会生成数个python文件





更新: 2025-03-14 10:55:43
原文: https://www.yuque.com/yuhui.net/network/hqek2zi21tg80oe0

评论(0)
暂无评论