Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

建立拨出遥测连接

使用此过程建立拨出遥测连接。根据要从 Junos 设备收集的传感器信息,配置 gRPC 服务、流服务器配置文件、传感器配置文件、导出配置文件和数据收集器。

在拨出模式下,瞻博网络设备启动与外部遥测收集器的连接,并流式传输遥测数据。当需要集中管理遥测数据时,此方法是首选,因为设备将数据推送到收集器,而不需要收集器启动连接。

  • 确保瞻博网络设备运行的兼容 Junos OS 版本支持 Junos 遥测。

  • 设置与所选传输协议(UDP 或 TCP)兼容的遥测收集器(例如,瞻博网络遥测收集器、Prometheus 或 InfluxDB)。

  • 确保瞻博网络设备与收集器之间的网络连接(例如,用于 gRPC 的 TCP 端口 50051 或用于 UDP 的自定义端口)。

  • 如果将 TLS 与 gRPC 配合使用,请为设备和收集器准备证书。

    注意:在 Junos OS 25.4R1 版本之前,TLS 选项是在层次结构下 edit system services extension-service request-response grpc ssl配置的。从 Junos OS 25.4R1 版开始,使用公钥基础架构 (PKI) 命令加载本地证书和证书颁发机构 (证书颁发机构) 配置文件,请参阅 配置流式传输服务器配置文件
  • 有关支持的传感器,请参阅 Junos YANG 数据模型浏览器 (在 Junos OS 23.2R2-S2 版中引入)或 Junos 遥测传感器浏览器 (适用于 20.2R1 至 23.1R1 版)。

  • 对于通过 TCP 连接拨出,请配置 IP 地址和路由实例,请参阅 为通过 TCP 连接拨出配置 gRPC 服务

  • 拨出遥测的类型:

    Junos 遥测支持三种类型的拨出连接。每种连接类型使用不同的消息格式,并具有特定的解码要求。要配置 dialout-type,请参阅 配置导出配置文件

    表 1:拨出遥测的类型
    拨出类型 使用 CLI 选项进行配置 消息格式 数据模型 解码要求 传输协议 订阅类型
    通过 UDP 拨出(Protobuf 紧凑格式,瞻博网络专用) native-udp-compact protobuf (.gpb) 格式的传感器数据。Protobuf 消息采用紧凑形式。 Junos 原生和 OpenConfig 模型。 使用 Junos 特定实用程序、 遥测_top.proto 和传感器原型文件进行解码。 UDP
    通过 UDP 拨出(Protobuf 结构化格式) native-udp-gpb Protobuf 消息采用结构化的自描述键值对。 所有数据模型 消息包含完整的键名和值对信息,因此收集器不需要数据模型来处理或使用遥测数据。消息结构在 jnx_gnmi_over_udp.proto 文件中定义。 UDP 带 SAMPLE 模式的流
    通过 TCP 拨出(Protobuf 结构化格式) native-grpc-gpb Protobuf 消息采用结构化通用键/值格式。 所有数据模型 使用 gnmi.proto GnmiJuniperTelemetryHeader.proto 进行解码。 TCP
    注意:从版本 25.4 开始,层次结构下的 [edit services analytics export-profile name]format transport options 将被弃用。
    • Protobuf 紧凑格式

      此格式被视为“紧凑”格式,因为它不包含详细的键值表示形式。但是,您必须下载最新版本的 protobuf 文件才能解码遥测数据。

    • Protobuf 结构化格式

      这种格式在 Protobuf 消息中使用自描述的键值对。每条消息都包含完整的传感器数据名称和值,即使没有数据模型文件,罐头收集器也可以处理传感器数据。

配置传感器以监视特定的系统资源。每个传感器配置需要三个主要组件:

  • 流服务器配置文件 — 指定用于收集数据和相关参数的服务器,包括目标 IP 地址和端口号。开始之前,配置从瞻博网络设备到使用带内管理接口的服务器的连接。

  • 传感器配置文件 — 允许监控系统资源,并使您能够设置相关参数,例如用于接收数据的目标服务器。

  • 导出配置文件 - 指定用于导出收集数据的属性。

最佳实践:

建议在配置传感器配置文件之前,至少配置一个导出配置文件和至少一个流式处理服务器。然后,可以将导出配置文件和流式处理服务器与传感器配置文件配置相关联。

要启用统计信息导出,请在 [] 层次结构级别包括 export-profile and sensoredit services analytics语句。传感器配置必须包括收集器的名称、导出配置文件的名称和资源路径。

资源路径示例:/interfaces/interface[name='fxp0']。

注意:

为通过 UDP 拨出配置导出配置文件时,导出配置文件参数(如 {'dscp'、'forwarding-class'、'payload-size'})不适用。配置这些选项中的任何一个都会产生错误。

请按照下面列出的过程建立拨出遥测连接:

配置流式处理服务器配置文件

服务器配置文件定义收集导出遥测数据的服务器的参数。您可以定义多个服务器配置文件。您还可以将同一服务器配置文件与多个传感器配置文件相关联。您可以将多个服务器与特定传感器相关联。

注意:

通过 UDP 流遥测数据的准则:

  1. 遥测数据通过 UDP 直接从源应用流传输到收集器。配置取决于与收集器的连接类型。收集器必须能够通过管理接口或 WAN 接口访问。
  2. 对于线卡传感器,如果可通过 WAN 接口访问远程地址,则线卡可以将数据直接导出到收集器。如果必须通过线卡传感器的管理接口导出遥测数据,请将数据路由到路由引擎,然后将其发送到收集器。

要定义流式处理服务器的配置文件以收集导出的遥测数据,请执行以下操作:

  1. 指定流式服务器的名称。

    例如,要指定流式服务器名称 telemetry-server

  2. 为导出的数据包指定目标 IP 地址。

    例如,要为名为 telemetry-server: 的流式处理服务器指定目标地址 192.0.2.2 :

  3. 导出的数据包指定目标端口号。

    例如,要为名为 telemetry-server: 的流式处理服务器指定目标端口号 30000 :

  4. 指定 TLS 参数、本地证书 ID 和 ca-profile。您可以为每个流式处理服务器配置 TLS 参数。对于拨出连接,您必须为每个流式处理服务器配置 TLS 参数。
    注意:TLS 不适用于 UDP。
    注意:

    在 25.4 版之前,TLS 选项是在层次结构下 edit system services extension-service request-response grpc ssl 配置的。从版本 25.4 开始,不再支持此配置方法。

    注意:

    从版本 25.4 开始,使用以下公钥基础架构 (PKI) 命令加载本地证书和证书颁发机构 (证书颁发机构) 配置文件:

    • request security pki local-certificate load certificate-id certificate id filename dialout_client.crt key dialout_client.key

    • request security pki ca-certificate load ca-profile ca-profile-name filename path/filename

配置传感器配置文件

传感器配置文件定义用于监视和流式传输数据的系统资源的参数。您只能为每个传感器配置文件启用一个系统资源进行监控。为要监控的每个系统资源配置不同的传感器配置文件。但是,您可以配置多个传感器来监视同一系统资源。例如,请考虑配置不同的参数以从同一系统资源导出数据。

要配置传感器配置文件:

  1. 指定传感器的名称。

    例如,要指定传感器名称 interface-1

  2. 指定要监视和流数据的系统资源。

    例如,要启用传感器 interface-1逻辑接口监控:

    注意:

    您必须准确输入资源字符串。

  3. (可选)指定正则表达式以筛选您在步骤 2 中指定的系统资源的数据。如果未指定正则表达式,则对系统资源进行全局监控,即在系统范围内进行监控。

    例如,要仅过滤传感器 interface-1以太网逻辑接口的数据:

  4. 指定在层次结构级别配置 [edit export-profile profile-name] 的导出配置文件的名称,以便与传感器配置文件关联。此导出配置文件定义用于导出遥测数据的参数。

    例如,要将名为 export-params 的导出配置文件与名为 interface-1

  5. 指定在层次结构级别配置 [edit services analytics streaming-server server-name] 的流式处理服务器名称的名称,以收集导出的数据。
    注意:

    可以为传感器配置文件指定多个流式处理服务器。若要为传感器指定多个流式处理服务器,必须将名称括在括号中。

    例如,要将流式处理服务器名称 telemetry-server 与名为 interface-1

配置导出配置文件

导出配置文件定义通过 Junos 遥测机制生成的数据的导出过程参数。您必须至少配置一个导出配置文件,也可以配置多个导出配置文件。每个导出配置文件都可以与多个传感器配置文件相关联。但是,您只能将一个导出配置文件与特定传感器配置文件相关联。

特定于平台的 导出配置文件 行为

使用 功能资源管理器 确认平台和版本对特定功能的支持。

使用下表查看平台的特定于平台的行为:

表 2:特定于平台的导出配置文件行为

平台

差异

MX 系列

在 MX 系列路由器上,您可以为导出配置文件指定丢包优先级。因此,您可以为每个传感器应用适当的丢包优先级。丢失优先级设置有助于确定在拥塞期间从网络中丢弃哪些数据包。以前,您只能在导出配置文件中指定转发类和 DSCP 值。支持以下数据包丢弃优先级设置:high、 和 medium-high lowmedium-low。有关数据包丢弃优先级设置的更多信息,请参阅将 PLP 映射到 RED 丢弃配置文件

要配置导出配置文件:

  1. 指定导出配置文件的名称。

    例如,要指定导出配置文件名称 export-params

  2. 指定导出数据包的源 IP 地址。

    例如,要为名为 export-params: 的导出配置文件指定源 IP 地址 192.0.2.3 :

  3. 指定导出数据包的源端口号。

    例如,要为名为 export-params: 的导出配置文件指定源端口号 21111 :

  4. 指定传感器生成遥测数据的间隔(以秒为单位)。
    • 在每个配置的时间间隔结束时,传感器会收集最新的样本并将其转发到指定的数据收集服务器。

    • 有效范围:对于 23.4 R2 之前的版本,1 到 86400 秒(24 小时)。

    注意:

    从 Junos OS 和 Junos Evolved 23.4R2 开始,数据包转发引擎 (PFE) 传感器支持的最小值 reporting-rate“2” 秒。如果配置指定的值小于 “2” 秒,并且执行了软件升级,则配置将被丢弃,并且在更正该值之前,遥测将无法运行。

    例如,要指定一个 20 秒的间隔,在该间隔中,与具有名称 export-params 的导出配置文件关联的任何传感器都会生成遥测数据:

  5. 指定拨出连接的类型。
    • native-udp-gpb:对于通过 UDP(Protobuf 结构化格式)连接进行拨出,选择此选项。消息格式为带有结构化自描述键值对的protobuf消息,传输协议为UDP。

    • native-udp-compact:对于通过 UDP(Protobuf 紧凑格式,瞻博网络专用)连接进行拨出,选择此选项。消息格式为 .gpb,传输协议为 UDP。

    • native-grpc-gpb:对于通过 TCP(Protobuf 结构化格式)连接拨出,选择此选项。消息格式为 gpb-gnmi(采用结构化通用键/值格式的 protobuf 消息),传输协议为 TCP。

    例如,要通过 UDP 流式传输本机传感器信息:

    注意:从 25.4 版开始,不推荐使用 和 format transport 选项。
  6. (可选)指定要分配给导出数据包的 DiffServ 代码点 (DSCP) 值。
    注意:

    默认值为 0 (zero)。

    您配置的任何接口级 DSCP 重写规则都会覆盖您为导出配置文件指定的 DSCP 值。仅当未在传出接口上配置 DSCP 重写规则时,才为导出配置文件指定 DSCP 值。有关更多信息,请参阅 配置重写规则

    例如,要为导出 export-params配置文件指定 DSCP 值 20,名称为 :

  7. (可选)指定要分配给导出数据包的转发类。
    注意:

    只能为数据包转发引擎传感器导出的数据包指定转发类。默认值为 best-effort

    例如,要为名称export-params为 : 的导出配置文件指定转发类 assured-forwarding

  8. (可选)(仅适用于 MX 系列路由器)指定要分配给导出的数据包的数据包丢弃优先级。

    例如,要为名称export-params为 : 的导出配置文件指定丢失优先级 high

配置数据收集器

  1. 确保收集器已准备好接收来自瞻博网络设备的数据:
    • IP 地址:设备的管理 IP 地址 (192.168.1.100)。
    • 端口:配置的端口(例如,UDP 为 2000,gRPC 为 50051)。
    • 协议:选择传输协议(例如,UDP 或 gRPC)。
    • 凭据:如果启用了 TLS,请使用相应的客户端证书和密钥配置收集器。
    • 数据格式:确保收集器支持 Google Protocol Buffers (gpb) 并具有解码传感器数据所需的 protobuf 定义。

    收集器配置示例(对于基于 UDP 的收集器):

    配置收集器以侦听 192.168.1.100:2000 和处理 gpb-encoded 数据。

  2. 在数据收集器上,验证是否已接收到数据。例如,如果将 Prometheus 或 Grafana 用作数据收集器,请检查日志或可视化。对于自定义收集器,请验证数据流是否与配置的传感器路径匹配。
  3. 要解码 Junos 遥测数据,请参阅使用 UNIX 公用事业解码 Junos 遥测接口数据

验证 Junos 遥测接口传感器配置

目的

确认您的配置。

行动

在配置模式下,输入 show services analytics 命令以确认您的配置。如果输出内容未显示预期的配置,请重复配置过程中的说明进行更正。

提交配置后,发出操作命令验证 show agent sensors 传感器是否已启用。

注意:

show agent sensors在 Junos OS Evolved 平台上,gRPC 传感器的命令输出将被截短,以与 Junos OS 平台的输出格式保持一致。

选择传感器路径

传感器浏览器和传感器路径选择指南

使用瞻博网络 Junos YANG 数据模型浏览器 查看所有受支持的资源路径、它们的相应分叶以及支持这些资源的设备平台。

注意: Junos YANG 数据模型资源管理器在 23.2R2-S2 版本中引入。从 20.2R1 到 23.1R1 版本,传感器信息可在 Junos 遥测传感器资源管理器中找到。

若要搜索和查看其他遥测传感器以及有关某些旧传感器的特定信息,请参阅 旧传感器路径

有关配置传感器路径的指南和最佳实践的信息,请参阅 浏览传感器路径

使用 UNIX 公用事业解码 Junos 遥测接口数据

您可以使用 UNIX 实用程序对服务器或收集器上的Junos 遥测接口数据进行解码,该服务器或收集器正在从 瞻博网络 设备流式传输数据。本部分中的示例说明如何解码单个流数据包。

准备收集器以解码数据

此示例需要以下内容:

  • 带有 Netcat (nc) 实用程序的 UNIX 操作系统。

  • 协议缓冲区编译器。

  • Junos 遥测接口协议缓冲区文件。

此过程说明如何准备收集器以使用 Ubuntu OS 解码数据。

  1. 安装 Netcat 实用程序。

  2. 安装协议缓冲区编译器。

  3. 安装协议缓冲区开发人员库。

  4. 验证库文件是否已安装。

  5. 下载并安装最新版本的 Junos 遥测接口协议缓冲区文件。

    从 Web 浏览器中,导航到瞻博网络页面上的所有Junos平台软件下载 URL: https://www.juniper.net/support/downloads/。选择 Junos OS 平台的名称和版本号后,请转至 工具 部分,下载 Junos 遥测接口数据模型文件 包。

    注意:瞻博网络发布了适用于 Junos 设备的 YANG 模块,这些模块可从 瞻博网络 GitHub 存储库下载。从 23.4 版开始,配置和遥测 YANG 模型将合并并发布在 瞻博网络 GitHub 存储库中。其中包含配置、RPC 和遥测模型的 YANG 定义。
    注意:

    确保记下提取文件的位置。

在收集器上解码数据

此过程说明如何捕获数据、解码原始数据以及使用协议缓冲区文件解码数据。

要解码数据:

  1. 捕获数据。

    在 UDP 侦听器模式下在目标流式遥测服务器或收集器上运行 netcat,将所有传入数据报存储到文件中。使用在瞻博网络设备上的流式传输服务器配置文件中配置的目标端口号。

    注意:

    此命令将数据报存储到名为 data.gpb的文件中。运行此程序以捕获数据。当您想要停止接收数据时,请通过发送中断信号 (Control + C) 来停止程序

  2. 解码原始数据。

    注意:

    此步骤可选。如果您知道数据的编码消息类型,则不需要这样做。

    解码要求因配置 dial-out 的类型而异。

    • 通过 UDP 拨出(Protobuf 紧凑格式,瞻博网络专有):使用 Junos 特定的实用程序、 遥测_top.proto 和传感器原型文件进行解码。

    • 通过 UDP 拨出(Protobuf 结构化格式):消息包含完整的键名和值对信息,因此收集器不需要数据模型来处理或使用遥测数据。消息结构在 jnx_gnmi_over_udp.proto 文件中定义。

    • 通过 TCP 拨出(Protobuf 结构化格式):使用 gnmi.protoGnmiJuniperTelemetryHeader.proto 文件进行解码。

    以下示例描述如何解码文件中的 data.gpb 消息,以便通过 UDP(Protobuf 紧凑格式,瞻博网络专用)连接进行拨出:

    下面的2636下一个嵌套结构标识传感器类型。数值2636标识JuniperNetworksSensor在文件中telemetry_top.proto定义的消息。在此示例中,数字标识符7对应于文件中logical_port.proto定义的LogicalPort消息。在下一步中使用此信息生成更详细的输出。

  3. 对消息进行解码以包含字段名称。

    使用解码选项运行协议缓冲区编译器。此外,指定顶级消息类型 (TelemetryStream) 和带有消息定义 logical_port.proto的文件 。还必须包括 Goggle 协议缓冲区 (gpb) 库。

在收集器处解码 Junos 遥测接口 UDP 数据

收集器必须在远程地址或端口组合上启动侦听器才能读取传入数据。对于通过 UDP(Protobuf 紧凑格式,瞻博网络专用)连接拨出,可以使用 遥测_top.proto 和传感器原型文件对传入数据进行解码。对于通过 UDP(Protobuf 结构化格式)连接拨出,消息包含完整的键名和值对信息,因此收集器不需要数据模型来处理或使用遥测数据。消息结构在 jnx_gnmi_over_udp.proto 文件中定义。

为了简化解码过程,收集器可以加载作为遥测软件包的一部分提供的所有原型文件来解码传入的数据。

注意:
  1. 验证管理和 WAN 接口上的流数据。在流式处理服务器配置文件中指定适当的地址。
  2. 枚举和浮点数作为 UDP 流的字符串进行流式传输。枚举将保留为字符串,因为 gNMI 使用相同的格式。
  3. float 数据类型的处理范围为将来的版本。

通过 UDP 流式传输遥测数据时,请确保正确解码数据,并且不会在收集器处解码未知字段。

通过 UDP 流式传输遥测数据时观察到的一些问题如下:

  1. 码不正确:解码不正确意味着遥测数据未通过 UDP 正确流式传输。在以下示例中,以粗体突出显示的数据表示数据未正确解码。这种行为要么是由于编码不正确,要么是由于原型文件打包错误造成的。

    正确解码数据的示例如下:

  2. 不完整数据流:不完整数据流必须通过输出文件中的数据验证来验证。

变更历史表

是否支持某项功能取决于您使用的平台和版本。使用 功能资源管理器 确定您的平台是否支持某个功能。

发布
描述
17.3R1
从 MX 系列路由器上的 Junos OS 17.3R1 版开始,您可以为导出配置文件指定数据包丢失优先级。
变更已完成
从 Junos OS 25.4R1 版开始,命令中 export-profile引入了 CLI 选项 dialout-type来配置传输协议和遥测消息格式。和 format transport选项已弃用。