• Telemetry原理


    Telemetry是一种网络设备监控技术,提供周期采样网络设备内的统计数据和状态数据的能力。

    一、Telemetry概述

    1.1、技术背景:

    网络设备的统一监控和性能管理是运维平台的重要功能,设备的监控数据包括数据、控制和管理平面数据。

    获取设备监控数据的方式有:SNMP、CLI、Syslog、Netstream和sFlow等。常用的是SNMP方式,但是SNMP采集周期是5分钟,通常会导致细节信息的丢失。

    传统网络采集技术的问题:

    传统网络通过平均5-15分钟的Pulling拉取采样数据,更密集的Pulling拉取会造成网络设备瘫痪。

    SNMP为主的运维系统效率低。

    无法检测网络大量微突发造成的网络问题。

    1.2、telnmetry简介:

    Telemetry也叫NetworkTelemetry(网络遥测技术),是一项远程的从物理设备或虚拟设备上高速采集数据的技术设备通过推模式(PushMode)周期性的主动向采集器上送设备的接口流量统计、CPU或内存数据等信息,相对传统拉模式(Pull Mode)的一问一答式交互,提供了更实时更高速的数据采集功能。

    业界也有将SNMP认为是传统的Telemetry技术把当前Telemetry叫做Streaming Telemetry或Model-Driven Telemetry的说法。

    Telemetry技术特点:

    telemetry采用推模式工作YANG模型定义结构精度可达到亚秒级

    Telemetry技术优势:

    telemetry采用推模式及时获取丰富的监控数据,可以实现网络故障的快速定位,提供统一的数据流格式,简化采集器分析检测数据的难度,从而解决传统网络运维问题。

    • 精细监控:采集数据的精度高,且类型十分丰富,可以充分反应网络状况。
    • 快速定位:在复杂的网络中,能够快速定位故障,达到秒,亚秒级的故障定位速度。
    • 主动上报:telemetry仅需配置一次订阅,设备就可以持续上报数据,减轻设备处理查询请求的压力。

    Telemetry网络模型分为广义和狭义两种:

    广义telemetry:包括采集器,分析器,控制器和设备功能构成的一个自闭环系统。

    狭义telemetry:设备采样数据上送给采集器的功能

    利用telemetry技术,采集器可以收集到大量的设备数据,然后将数据交给分析器进行综合分析,分析器将决策结果发送给控制器,由控制器调整设备的配置,便可以几乎实时的反馈调整后的设备状态是否符合预期。

     

    二、Telemetry技术原理

    狭义的telemtry框架可以分为四个模块数据源、数据生成数据订阅数据推送

     

    Telemetry协议栈:

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

    举个订外卖的例子便于理解:YANG是个快餐店的菜谱,顾客想吃汉堡和炸鸡便照着YANG菜单写了一份A4纸采购清单(如一份汉堡,两份炸鸡),将清单折成邮票大小的小纸条装到了GPB信封里,找到门口的信使gRPC,信使gRPC骑上HTTP2电动车到了快餐店。信使gRPC将GPB信封给老板,老板解开GPB信封核对顾客采购清单是否在销售范围内。

    Telemetry数据源:

    telemetry数据源定义了可被获取的数据,telemetry采用了YANG模型定义设备可获取数据源,支持各类YANG模型,包括Huawei-YANG、IETF-YANG和OpenConfig-Yang

     

    Telemetry数据订阅:

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

     

    1.静态订阅

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

     

    2.动态订阅

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

     

    Telemetry数据推送:

    Telemetry的数据推送有两种方式基于gRPC方式基于UDP方式

     

    1.基于gRPC方式 (gRPC官网:gRPC)

    gRPC面向连接,只在采集器和主控板CPU之间建立gRPC隧道。(蓝色箭头表示gRPC隧道)【gRPC封装层由gRPC开源软件提供】

     

     

    2.基于UDP方式

    UDP推送相较于gRPC推送做出了一定优化,采集器也可以和线路卡CPU之间建立UDP隧道,由一对一变为多对一建立隧道,缓解了主控板CPU的压力同时也提高了效率。

     

     

    三、Telemetry配置与实践

     

    案例描述:某公司现有一台CE12800设备,管理IP地址为192.168.56.100。为了更好的采集设备性能数据,现在要求通过Telemetry静态订阅方式,设备推送CPU信息到服务端。

    配置思路:

    华为配置步骤:

    1、进入telemetry视图

    [CE1] telemetry

    2、配置设备推送目标

    本例中创建目标组Dest1。推送目标IP地址为192.168.56.1,端口为20000。

    [CE1-telemetry] destination-groupDest1

    [CE1-telemetry-destination-group-Dest1]ipv4-address 192.168.56.1 port 20000protocol gRPC no-tls

    3、配置设备采集数据

    配置Telemetry静态订阅采样数据时,需要创建采样传感器组,并指定好采样路径。本例中创建采样组Sensor1。采样路径为CPU信息。

    [CE1-telemetry] sensor-groupSensor1

    [CE1-telemetry-sensor-group-Sensor1]sensor-path huawei-devm:devm/cpuInfos/cpuInfo

    4、创建静态订阅

    创建订阅,将配置好的上送目标组和采样传感器组进行关联,完成数据上送。本例中关联目标组Dest1与传感器组Sensor1,并设置采样间隔为1000ms。配置完后,设备将持续向目标推送数据。 [CE1-telemetry]subscriptionSub1

    [CE1-telemetry-subscription-Sub1]destination-groupDest1

    [CE1-telemetry-subscription-Sub1]sensor-groupSensor1 sample-interval 1000

    5、采集器编译proto文件

    6、编写Python代码,获取设备信息

    7、结果验证(运行python脚本进行Telemetry订阅实现设备的数据采样)

  • 相关阅读:
    ajaxpro2 外网调用挂起问题
    计算机视觉CV:1000字总结介绍
    读书笔记:《浪潮之巅:上》
    HarmonyOS开发:那些开发中常见的问题汇总(一)
    四个方面来带大家学习数据分析,数据分析精通不要太简单
    【MySQL】实时监控和分析MySQL服务器性能指标的命令
    Prompt进阶2:LangGPT(构建高性能Prompt策略和技巧)--最佳实践指南
    速锐得解码TANK300烈马应用前大灯随动转向车灯照明系统DEMO
    天锐绿盾是干什么的?——防止公司内部核心文件数据资料外泄软件,图档加密 | 源代码加密、源码防泄露系统
    web网页设计期末课程大作业:水果网站设计——HTML+CSS+JavaScript水果超市(带论文)
  • 原文地址:https://blog.csdn.net/qq_33162707/article/details/128106608