IP新技术-Telemetry的原理、应用和配置

IP新技术-Telemetry的原理、应用和配置

随着云计算的发展,大数据的重要性日益凸显,对于网络来说,如果要基于大数据分析建设一个智能的业务自适应网络,那么实时、高速、精确的获取网络运行数据就成为了至为重要的一环,Telemetry是什么?它有哪些优势,又是怎么实现的呢?今天我就给大家介绍一下Telemetry这门新技术。

一、介绍

简单的说,Telemetry是一项从物理设备或者虚拟设备上远程高速采集数据的网络监控技术,相比于传统的网络监控技术例如snmp、cli等,Telemetry通过推模式(Push Mode)主动向采集集上推送数据信息,提供更实时、更高度、更精确的网络监控功能。

1、Telemetry模型结构

我们先来看看Telemetry的模型结构,作为一个网络监控技术,Telemetry是由网络设备和网管系统两大部分组成的。对于网络设备,Telemetry就相当于原始数据、数据模型、编码类型和传输协议的组合,而对于网管系统,Telemetry就相当于收集系统、存储系统和应用分析系统的组合。

在网络设备侧,Telemetry按照YANG模型组织数据,利用GPB(Google Protocol Buffer)格式编码,并通过GRPC(Google Remote Procedure Call Protocol)协议传输数据,使得数据的获取更高效,智能对接更便捷。

在网管系统侧,Telemetry可以完成数据的收集、存储和分析功能,利用分析结果可以为网络配置调整提供依据。

2、Telemetry优势

下面通过传统网络监控技术的对比介绍一下Telemetry的优势。

首先,传统网络监控方式例如SNMP/CLI等,使用”网管查询-设备响应“的拉模式(Pull Mode)收集数据,一次查询对应一次响应,设备需要处理大量重复的查询报文。Telemetry使用”网管定制-设备实时推送“的推模式(Push Mode)采集数据,一次定制就可以对应多次响应,降低了设备处理查询报文的压力。


其次,传统网络监控方式通过拉模式获取数据,如果网络卡顿或者数据的获取不及时,就容易造成数据失真。Telemetry周期性的向网管系统推送数据,避免了延时造成的数据不准确。推送的数据内含时间戳,不受网络延迟的影响。

第三,传统的网络监控方式如果要采集n台设备的数据,需要执行n次的查询操作,如果同时采集m种数据则需要n*m次操作。而采用Telemetry技术,所有的设备只需要提前配置好订阅,各种数据实时的上报、中间的过程不需要人工操作。

接下来为前面的对比做一下总结,Telemetry的工作模式是推模式,主动的推送数据,精度是亚秒级。比较关键的一点是,Telemetry数据采用标准结构和标准编码,方便对接第三方的设备,有助于网络监控效率的提升和监控质量的提升。SNMP Trap和SYSLOG虽然也是推模式的,但是其推送的数据范围有限,对于类似接口流量等这类的监控数据不能实时的采集上送。

对比项 Telemetry SNMP Get SNMP Trap CLI SYSLOG
工作模式 推模式 拉模式 推模式 拉模式 推模式
精度 亚秒级 分钟级 秒级 分钟级 秒级
数据范围 所有数据 所有数据 仅有告警 所有数据 仅有事件
是否结构化 YANG模型定义结构 MIB定义结构 MIB定义结构 非结构化 非结构化

二、Telemetry原理

1、Telemetry静态订阅的业务流程

Telemetry静态订阅是指设备作为客户端,采集器作为服务端,由设备主动发起到采集器的连接,进行数据采集上送。

当用户想长时间、周期性地监控比如某个端口的端口流量趋势时,可以配置Telemetry静态订阅功能。

狭义的Telemetry是一个设备特性,广义的Telemetry是一个闭环的自动化运维系统,由网络设备、采集器、分析器和控制器等部件组成,分为网管侧和设备侧,如下图所示:

Telemetry网管侧和设备侧协同运作,完成整体的Telemetry动态订阅需要五个操作步骤顺序执行:

1、动态配置:支持Telemetry的设备在完成gRPC服务的相关配置后,由采集器下发动态配置到设备,完成数据采集。

2、推送采样数据:网络设备依据采集器的配置要求,将采集完成的数据,上报给采集器进行接收和存储。

3、读取数据:分析器读取采集器存储的采样数据。

4、分析数据:分析器分析读取到的采样数据,并将分析结果发给控制器,便于控制器对网络进行配置管理,及时调优网络。

5、调整网络参数:控制器将网络需要调整的配置下发给网络设备;配置下发生效后,新的采样数据又会上报到采集器,此时Telemetry网管侧可以分析调优后的网络效果是否符合预期,直到调优完成后,整个业务流程形成闭环。

说明:

如果设备和上送目标之间的连接断开了,设备会进行重新连接,再次上送数据,但是重连期间的采样数据会丢失。

在系统主备倒换或保存Telemetry业务配置重启完成后,Telemetry业务会重新加载配置,业务会继续运行,但重启或倒换期间的数据会丢失。

2、Telemetry动态订阅的业务流程

Telemetry动态订阅是指设备作为服务端,采集器作为客户端发起到设备的连接,由设备进行数据采集上送。

当用户对比如某些接口产生兴趣,想监控一段时间时,可以配置Telemetry动态订阅功能。在不感兴趣时,断开连接即可,订阅自动取消且不会配置恢复,从而避免对设备造成长期负载,也简化了用户和设备的交互。

如下图所示:

Telemetry网管侧和设备侧协同运作,完成整体的Telemetry动态订阅需要五个操作步骤顺序执行:

1、动态配置:支持Telemetry的设备在完成gRPC服务的相关配置后,由采集器下发动态配置到设备,完成数据采集。

2、推送采样数据:网络设备依据采集器的配置要求,将采集完成的数据,上报给采集器进行接收和存储。

3、读取数据:分析器读取采集器存储的采样数据。

4、分析数据:分析器分析读取到的采样数据,并将分析结果发给控制器,便于控制器对网络进行配置管理,及时调优网络。

5、调整网络参数:控制器将网络需要调整的配置下发给网络设备;配置下发生效后,新的采样数据又会上报到采集器,此时Telemetry网管侧可以分析调优后的网络效果是否符合预期,直到调优完成后,整个业务流程形成闭环。

说明:

如果Telemetry动态订阅所在连接断开(例如设备进行主备倒换或重启等),设备会自动取消订阅,不再采样推送数据,且不支持配置恢复,直到采集器重新下发连接请求。

3、Telemetry关键技术

对于Telemetry设备侧:Telemetry=原始数据+数据模型+编码格式+传输协议。

原始数据:Telemetry采样的原始数据可来自网络设备的转发面、控制面和管理面,目前支持采集设备的接口流量统计、CPU或内存数据等信息。

数据模型:Telemetry基于YANG模型组织采集数据。YANG是一种数据建模语言,用于设计可以作为各种传输协议操作的配置数据模型、状态数据模型、远程调用模型和通知机制等。

编码格式:支持GPB(Google Protocol Buffer)和 JSON(JavaScript Object Notation)编码格式。Telemetry利用GPB编码格式(GPB编码格式的文件名后缀为.proto),提供一种灵活、高效、自动序列化结构数据的机制,GPB属于二进制编码,性能好、效率高。

传输协议:支持gRPC协议(google Remote Procedure Call Protocol)和UDP协议(User Datagram Protocol)。gRPC协议是谷歌发布的一个基于HTTP2协议承载的高性能、通用的RPC开源软件框架。通信双方都基于该框架进行二次开发,从而使得通信双方聚焦在业务,无需关注由gRPC软件框架实现的底层通信。需要说明的一点是,gRPC协议可以用于Telemetry静态订阅或动态订阅,而UDP仅可以用于Telemetry静态订阅。

三、Telemetry应用

1、Telemetry在流量调优场景的应用

这里以移动城载网为例,介绍Telemetry在流量调优场景的应用。

智能运维系统包括采集器、分析器和控制器等,当流量路径需要调优时,利用Telemetry技术收集设备数据,发给分析器进行综合分析决策,分析器再将决策发送给控制器,然后由控制器调整设备的控制,进而调整流量转发路径。

详细的部署过程如下:

1、配置Telemetry功能。

2、各设备主动与智能运维系统建立GRPC通道,在设备上配置订阅。

3、各设备通过GRPC通道将订阅的数据上报给采集器。

4、采集器接收、存储、加工处理各设备上报的数据。

5、分析器基于大数据分析系统进行分析。

6、控制器下发调优指令对网络进行调优。

整个过程迅速便捷,用户对于流量路径的变化真正的无感知,大幅提升了用户的体验。

2、Telemetry在微突发检测场景的应用

网络传输过程中存在微突发现象,此时超过设备转发能力的报文将被丢弃,导致通信双方重传报文,进而影响通信质量。微突发越多,网络通信质量越差,网管需要及时监测到微突发,及时进行调整。

网络流量通常是按5分钟的平均值来衡量,使得网络流量看上去是平滑的,但更细粒度(例如毫秒级)观察网络时,实际流量中会看到更多突发,这些微突发(Microbrust)非常纤细,SNMP的get操作发现不了。

如下图所示,从SNMP get方式查询的流量统计来看是平滑的,没有任何的网络异常,但从Telemetry方式上报的流量统计可以明显看到微突发现象。通过Telemetry高精度采样,可以检测到这些微突发。

四、Telemetry配置

以下以配置基于GRPC协议进行Telemetry静态订阅(IPv4采集器)为例介绍Telemetry的基本配置。

1、配置目标采集器

当用户配置Telemetry静态订阅采样数据时,需要创建上送目标组,并指定好采样数据要上送的目标采集器。

system-view
telemetry
 destination-group destination1 //创建采样数据的上送目标组并进入Destination-group视图
  ipv4-address 192.168.0.1 port 8895 protocol grpc no-tls //配置上送目标采集器的IP地址、端口号、上送目标采集器的协议和加密方式。

2、配置采样数据

当用户配置Telemetry静态订阅采样数据时,需要创建采样传感器组,并指定好采样路径。

system-view
telemetry
 sensor-group sensor1 //创建采样传感器组并进入Sensor-group视图。
  # 监控CPU内存
  sensor-path huawei-debug:debug/cpu-infos/cpu-info //配置Telemetry传感器采样路径
  sensor-path huawei-debug:debug/memory-infos/memory-info 
  # 监控实体
  sensor-path huawei-devm:devm/physical-entitys/physical-entity 
  sensor-path huawei-devm:devm/physical-entitys/physical-entity[class="chassis"] 
  # 监控端口流量
  sensor-path huawei-ifm:ifm/interfaces/interface 
  sensor-path huawei-ifm:ifm/interfaces/interface/mib-statistics 

3、创建订阅

当用户配置Telemetry静态订阅采样数据或自定义事件时,需要创建订阅,将配置好的上送目标组和采样传感器组进行关联,完成数据上送。

system-view
telemetry
 subscription subscription1 //创建订阅用于关联上送目标组和采样传感器组,并进入Subscription视图 
  local-source-address ipv4 10.100.0.1 //配置gRPC协议上送方式的源IP地址
  sensor-group sensor1 sample-interval 10000 //关联采样传感器组并配置采样周期为10s
  destination-group destination1 //配置关联上送目标组

4、检查Telemetry配置结果

当用户完成Telemetry静态订阅采样数据或自定义事件的配置后,可以查看采样传感器组、上送目标组及订阅信息等。

  • 使用display telemetry sensor [ sensor-name ]命令查看采样传感器信息。
  • 使用display telemetry destination [ dest-name ]命令查看上送目标组信息。
  • 使用display telemetry subscription [ subscription-name ]命令查看订阅信息。
  • 使用display telemetry sensor-path命令查看Telemetry传感器采样路径。

转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 xumeng32@126.com

文章标题:IP新技术-Telemetry的原理、应用和配置

文章字数:3.4k

本文作者:F_numen

发布时间:2021-05-22, 21:48:26

最后更新:2021-05-26, 17:30:31

原始链接:https://netheroone.cn/archives/a3071047.html

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。

目录
/*baidu统计*/