技术背景
统一监控网络设备并进行性能管理,是运维平台的关键职能。设备的监控数据涵盖了数据、控制以及管理平面等方面的数据。
获取设备监控数据的方法包括:SNMP、CLI和Syslog等。其中,SNMP是常用的方式之一,但其采集周期通常为5分钟,这往往会导致一些细节信息的缺失。
传统网络采集技术的问题:
- 传统网络通过平均5-15分钟的Pulling拉取采样数据,更密集的Pulling拉取会造成网络设备瘫痪。
- SNMP为主的运维系统效率低。
- 无法检测网络大量微突发造成的网络问题。
Telemetry简介
Telemetry也叫Network Telemetry(网络遥测技术),是一项远程的从物理设备或虚拟设备上高速采集数据的技术。设备通过推模式(Push Mode)周期性的主动向采集器上送设备的流量统计、CPU或内存数据等信息,相对传统拉模式(Pull Mode)的一问一答式交互,提供了更实时更高速的数据采集功能。
Telemetry采用推模式工作,YANG模型定义结构,精度可达到亚秒级。Telemetry与传统网络监控方式的对比如下所示。
对比项 | Telemetry | SNMP Get | SNMP Trap | CLI | SYSLOG |
工作模式 | 推模式 | 拉模式 | 推模式 | 拉模式 | 推模式 |
精度 | 亚秒级 | 分钟级 | 秒级 | 分钟级 | 秒级 |
是否结构化 | YANG模型定义结构 | MIB定义结构 | MIB定义结构 | 非结构化 | 非结构化 |
Telemetry技术优势:
Telemetry采用推模式及时获取丰富的监控数据,可以实现网络故障的快速定位,提供统一的数据流格式,简化采集器分析检测数据的难度,从而解决传统网络运维问题。
精细监控:采集数据的精度高,且类型十分丰富,可以充分反应网络状况。
快速定位:在复杂的网络中,能够快速定位故障,达到秒,亚秒级的故障定位速度。
主动上报:telemetry仅需配置一次订阅,设备就可以持续上报数据,减轻设备处理查询请求的压力。
Telemetry原理:
Telemetry框架可以分为四个模块:数据源、数据生成、数据订阅和数据推送。
- Telemetry数据源定义了可被获取的数据,采用YANG模型定义设备可获取数据源,支持多种YANG模型,例如OPENCONFIG-YANG、IETF-YANG和SONiC-YANG等。
- Telemetry数据生成采用GPB(GoogleProtocol Buffers)编码。GPB编码提供了一种灵活、高效、自动序列化结构数据的机制。GPB与XML、JSON编码类似,不同之处在于GPB是一种二进制编码,性能更高。
- Telemetry订阅方式分为两种,静态订阅和动态订阅。
静态订阅是指设备作为客户端,采集器作为服务端。由设备主动发起到采集器的连接,进行数据采集上送。多用于长期巡检。
动态订阅是指设备作为服务端,采集器作为客户端发起到设备的连接。由设备进行数据采集上送。多用于短期监控。
- Telemetry的数据推送有两种方式:基于gRPC方式和基于UDP方式。
- 数据分析:分析器分析读取到的采样数据,并将分析结果发给控制器,便于控制器对网络进行配置管理,及时调优网络。
通过Telemetry,网络管理员可以更好地了解网络的运行状况,并做出明智的决策来确保网络的稳定性和性能优化。