在 M、MX 和 T Series 路由器以及 EX 系列交换机上配置 RPM 探针
RPM 探针的探针所有者和测试名称共同表示单个 RPM 配置实例。指定测试名称时,还可以配置测试参数。
要配置探针所有者、测试名称和测试参数,请在[edit services rpm]层次结构级别包含probe语句:
[edit services rpm] probe owner { delegate-probes; test test-name { data-fill data; data-size size; destination-interface interface-name; destination-port (RPM) port; dscp-code-points (RPM) dscp-bits; hardware-timestamp; history-size size; inet6-options; moving-average-size number; one-way-hardware-timestamp; probe-count count; probe-interval seconds; probe-type type; routing-instance (RPM) instance-name; rpm-scale { destination { interface interface-name.logical-unit-number; subunit-cnt subunit-cnt; } source { address-base ipv4-address-base; count ipv4-count; step ipv4-step; } source-inet6 { address-base ipv6-address-base; count ipv6-count; step ipv6-step; } target { address-base ipv4-address-base; count ipv4-count; step ipv4-step; } target-inet6 { address-base ipv6-address-base; count ipv6-count; step ipv6-step; } tests-count tests-count; } source-address address; target (url url | address address); test-interval interval; thresholds (Junos OS) thresholds; traps traps; ttl [hop-count] } }
配置 RPM 客户端和 RPM 服务器时,请记住以下几点:
逻辑系统不支持 RPM。
-
从 Junos OS 17.3R1 版开始,IPsec 隧道和 GRE 隧道(如果您使用的是 MS-MPC 或 MS-MIC),则支持基于 PIC 和基于路由引擎的 RPM。IPsec 隧道不支持基于数据包转发引擎的 RPM。支持 IPSec 隧道上的 RPM,可对在 IPSec 隧道中传输的流量进行服务级别协议 (SLA) 监控。
-
从 Junos OS 17.3R1 版开始,您可以在 MS-MPC 或 MS-MIC 上配置 IPv4
icmp-ping和icmp-ping-timestampRPM 探针的生成,与数据包转发引擎上生成的探针数量相比,每个服务 NPU 上生成的探针数将增加至每秒 100 万个。从 Junos OS 18.1R1 版开始,可以在 MS-MPC 或 MS-MIC 上配置 RPM 探针的生成icmp6-ping。要在 MS-MPC 或 MS-MIC 上配置 RPM 探针的生成:-
在
[edit services rpm probe owner test test-name]层次结构级别包括 thedestination-interface interface-name.logical-unit-number,并在层次结构级别包括delegate-probes语句[edit services rpm probe owner]。指定 interface-name.logical-unit-number MS-MPC 或 MS-MIC 插槽上的逻辑接口、PIC 以及定义了有效 IP 地址的端口(例如,ms-1/2/1.1)。接口不能是聚合多服务接口 (ams-)。 -
在
[edit interfaces interface-name unit logical-unit-number]层次结构级别包括 和rpm client-delegate-probes语family (inet | inet6) address address句。和 interface-name 必须logical-unit-number与您interface-name.logical-unit-number用于 的destination-interface匹配。
对于在 MS-MPC 或 MS-MIC 上配置的 RPM 探针,不能在
[edit services rpm probe owner test test-name]层次结构级别配置routing-instance语句,也不能在同一测试中同时配置 IPv4 和 IPv6 探测。从 Junos OS 18.1R1 版开始,对于在 MS-MPC 或 MS-MIC 上生成的 RPM 探针,您可以使用其他过滤器来限制 show services rpm probe-results 和 show services rpm history-results 命令的输出。
-
-
从 Junos OS 17.4R1 版开始,您可以优化 IPv4 RPM 测试的 CLI 配置。从 Junos OS 18.2R1 版开始,您还可以优化 IPv6 RPM 测试的 CLI 配置。这种优化允许使用最小的 RPM 配置语句来生成多个测试(最多 100K 个测试),并带有预定义的保留 RPM 测试名称。对于使用数据包转发引擎或者由 MS-MPC 或 MS-MIC 生成的探针进行的测试,可配置此优化。系统会为源地址和目标地址的多种组合生成测试,这些测试会根据您的配置递增。
各种 Junos 版本支持的最大并发 RPM 探针数如下:
-
早于 17.3R1 的 Junos OS 版本 - 500
-
Junos OS 17.3R1 及更高版本 - 2000(适用于 ICMP 和 ICMP 时间戳探测类型)。对于其他类型(UDP 和 TCP)的探针,限制为 500。
-
Junos OS 17.3R1 及更高版本(实施了委托 探测)- 每个 Service-NPU 100 万个。
注意:一个 MS-MIC 包含一个服务 NPU,一个 MS-MPC 包含四个服务 NPU。
通过 实施委托探针,RPM 探针符合 RFC792 和 RFC4443 标准。因此,它们可用于监控任何符合RFC的IP设备,并能够响应icmp时间戳和/或icmp6-ping数据包。
首先为具有初始目标地址的所有源地址生成测试,然后为具有下一个可用目标地址的所有源地址生成测试,依此类推。您还可以配置包含特定探针所有者的全局值的组,并将该组应用于探针所有者。
要生成多个 RPM 测试,请配置以下内容:
[edit services rpm probe owner] apply-groups group-name; test test-name { rpm-scale { destination { interface interface-name.logical-unit-number; subunit-cnt subunit-cnt; } source { address-base ipv4-address-base; count ipv4-count; step ipv4-step; } source-inet6 { address-base ipv6-address-base; count ipv6-count; step ipv6-step; } target { address-base ipv4-address-base; count ipv4-count; step ipv4-step; } target-inet6 { address-base ipv6-address-base; count ipv6-count; step ipv6-step; } tests-count tests-count; } }
选项包括:
ipv4-address-base 递增以生成 RPM 测试中使用的地址的 IPv4 源地址或目标地址。
ipv6-address-base 递增以生成 RPM 测试中使用的地址的 IPv6 源或目标地址。
ipv4-step 每个生成的 RPM 测试的 IPv4 源地址或目标地址递增量。
ipv6-step 每个生成的 RPM 测试的 IPv6 源地址或目标地址递增量。
ipv4-count 用于生成的 RPM 测试的最大 IPv4 源地址或目标地址数。
ipv6-count 用于生成的 RPM 测试的最大 IPv6 源地址或目标地址数。
interface-name.logical-unit-number 生成 RPM 探针的服务接口,以及用于生成的第一个测试的逻辑单元号。
subunit-cnt 服务接口在生成的测试中使用的最大逻辑单元数。第一个生成的测试使用选项中 interface-name.logical-unit-number 指定的逻辑单元,并且每个后续测试都会将逻辑单元编号递增 1。一旦使用了最大数量的逻辑单元,下一个生成的测试就会循环回到第一次测试中使用的逻辑单元。
tests-count 要生成的最大 RPM 测试数。此数字必须小于或等于生成的源地址数乘以生成的目标地址数。
要使用特定探针所有者的全局值配置组,请执行以下作:
[edit groups group-name] services { rpm { probe <*> { test { data-fill data; data-size size; dscp-code-points (RPM) dscp-bits; history-size size; moving-average-size number; probe-count count; probe-type type; test-interval interval; thresholds (Junos OS) thresholds; } } } } -
要指定探针所有者,请在
[edit services rpm]层次结构级别包含语probe句。探针所有者标识符的长度最多可为 32 个字符。要指定测试名称,请在
[edit services rpm probe owner]层次结构级别包含test语句。测试名称标识符的长度最多为 32 个字符。检验表示计算标准偏差、平均值和抖动的探针范围。要指定互联网控制消息协议 (ICMP) 探测的数据部分的内容,请在
[edit services rpm probe owner]层次结构级别包含语data-fill句。该值可以是十六进制值。该data-fill语句对http-get或http-metadata-get探针类型无效。要指定 ICMP 探针的数据部分的大小,请在
[edit services rpm probe owner]层次结构级别包含data-size语句。大小可以是 from0to65400,默认大小为0。该data-size语句对http-get或http-metadata-get探针类型无效。注意:如果配置硬件时间戳功能(请参阅 在 MX、M、T 和 PTX 系列路由器以及 EX 系列交换机上配置 RPM 时间戳):
这是已弃用的元素
data-size,默认值为 32 字节,这是已弃用的元素,32 是显式配置的最小值。UDP 时间戳探测类型是一个例外;它要求最小数据大小为 44 字节。必须
data-size至少比 RPM 客户端接口接口的默认 MTU 小 100 字节。
在 M Series 和 T Series 路由器上,您可以配置语
destination-interface句以启用 RPM 探测数据包的硬件时间戳记。指定 sp- 接口以让 AS 或多服务 PIC 添加硬件时间戳;有关更多信息,请参阅 在 MX、M、T 和 PTX 系列路由器以及 EX 系列交换机上配置 RPM 时间戳记。您还可以包含one-way-hardware-timestamp语句以启用单向延迟和抖动测量。要指定探针发送到的用户数据报协议 (UDP) 端口或传输控制协议 (TCP) 端口,请在
[edit services rpm probe owner test test-name]层次结构级别包含destination-port语句。该destination-port语句仅用于 UDP 和 TCP 探测类型。该值可以是7或 从49160到65535。当配置其中任一
probe-type udp-ping配置或probe-type udp-ping-timestamp与硬件时间戳一起配置时,的destination-port值只能为 7。在这种情况下,约束检查将防止您为目标端口配置任何其他值。使用单向硬件时间戳时,此限制不适用。要指定 IP 报头中差分服务 (DiffServ) 字段的值,请在
[edit services rpm probe owner test test-name]层次结构级别包含该dscp-code-point语句。DiffServ 代码点 (DSCP) 位值可以设置为有效的 6 位模式;例如,001111.也可以使用在[edit class-of-service code-point-aliases dscp]层次结构级别上配置的别名进行设置。默认值为000000。要指定存储的历史记录条目数,请在
[edit services rpm probe owner test test-name]层次结构级别包含history-size语句。指定从0到512的值。默认值为50。若要指定用于进行统计计算的样本数,请在
[edit services rpm probe owner test test-name]层次结构级别包含moving-average-size语句。指定 通过255中的值0。要指定测试中的探测数,请在
[edit services rpm probe owner test test-name]层次结构级别包含probe-count语句。指定 通过15中的值1。要指定发送数据包之间的等待时间,请在
[edit services rpm probe owner test test-name]层次结构级别包含probe-interval语句。指定一个值,从1到255秒。要指定探测的数据包和协议内容,请在
[edit services rpm probe owner test test-name]层次结构级别包含probe-type语句。支持以下探针类型:http-get—向目标 URL 发送超文本传输协议 (HTTP) get 请求。http-metadata-get- 向目标 URL 发送元数据的 HTTP get 请求。icmp-ping- 向目标地址发送 ICMP 回显请求。icmp-ping-timestamp- 将 ICMP 时间戳请求发送到目标地址。tcp-ping- 将 TCP 数据包发送到目标。udp-ping- 将 UDP 数据包发送到目标。udp-ping-timestamp- 将 UDP 时间戳请求发送到目标地址。
以下探测类型支持探测数据包的硬件时间戳记:
icmp-ping、icmp-ping-timestamp、udp-pingudp-ping-timestamp、。从 Junos OS 17.3R3 版开始,委托探测器将在 3 秒的时间间隔内均匀分布,以避免由于实时性能监控 (RPM) 而导致数据包在网络中突发。随着 RPM 委托测试的斜坡上升时间增加到 60 秒,处理 RPM 系统日志。处理 RPM 系统日志后,多个测试同时启动和结束的几率较小,因此在event-processing中存在潜在限制。注意:某些探针类型需要配置其他参数。例如,当您指定
tcp-ping或udp-ping选项时,必须使用语destination-port句配置目标端口。此udp-ping-timestamp选项要求最小数据大小为 12;任何较小的数据大小都会导致提交错误。TCP 探测数据包的最小数据大小为 1。同时配置或
probe-type udp-ping-timestamp与one-way-hardware-timestamp命令一起配置probe-type udp-ping时,的destination-port值只能为 7。在这种情况下,约束检查将防止您为目标端口配置任何其他值。要指定 ICMP 探测使用的路由实例,请在
[edit services rpm probe owner test test-name]层次结构级别包含routing-instance语句。默认路由实例为 因特网路由表inet.0。要指定用于 ICMP 探测的源 IP 地址,请在
[edit services rpm probe owner test test-name]层次结构级别包含source-address语句。如果源 IP 地址不是路由器的分配地址之一,则数据包将使用传出接口的地址作为其源。从 Junos OS 16.1R1 版开始,要指定要用于从 RPM 客户端(发起 RPM 数据包的设备)发送到 RPM 服务器(接收 RPM 探测的设备)的 RPM 探测的源 IPv6 地址,请在
[edit services rpm probe owner test test-name]层次结构级别上包括 。inet6-options source-address ipv6-address statement如果源 IPv6 地址不是路由器或交换机的分配地址之一,则数据包将使用传出接口的地址作为其来源。要指定用于探测的目标地址,请在
[edit services rpm probe owner test test-name]层次结构级别包含target语句。对于 HTTP 探测类型,请指定包含在 URL 地址中的完全格式的 URL
http://。对于所有其他探测类型,请指定目标主机的 IP 版本 4 (IPv4) 或 IP 版本 6 (IPv6)(从 Junos OS 16.1R1 版开始支持 IPv6)地址。
要指定测试之间的等待时间,请在
[edit services rpm probe owner test test-name]层次结构级别包含test-interval语句。指定一个值,从0到86400秒。值为 0 秒会导致 RPM 测试在一次迭代后停止。默认值为 1。要指定用于探测的阈值,请在
[edit services rpm probe owner test test-name]层次结构级别包含thresholds语句。当超过配置的阈值时,将生成系统日志消息。同样,当超过阈值时,将生成 SNMP 陷阱(如果已配置)。支持以下选项:egress-time—测量每个探头从源到目标的最长时间。ingress-time—测量每个探头从目标到源的最长时间。jitter-egress—测量每次测试的最大源到目标抖动。jitter-ingress—测量每次测试的最大目标到源抖动。jitter-rtt—测量每次测试的最大抖动,从 0 到 60000000 微秒。rtt—测量每个探头的最大往返时间,以微秒为单位。std-dev-egress—测量每次测试的最大源到目标标准偏差。std-dev-ingress—测量每次测试的最大目标到源标准偏差。std-dev-rtt—测量每次测试的最大标准偏差,以微秒为单位。successive-loss—测量连续探头丢失计数,指示探头故障。-
total-loss—测量指示测试失败的总探头损失计数,从 0 到 15。此阈值的默认值为 1。
如果达到或超过配置的阈值,则发送陷阱。要设置陷阱位以生成陷阱,请在
[edit services rpm probe owner test test-name]层次结构级别包含traps语句。支持以下选项:egress-jitter-exceeded- 当达到或超过出口时间阈值中的抖动时,将生成陷阱。egress-std-dev-exceeded- 当达到或超过出口时间标准偏差阈值时生成陷阱。egress-time-exceeded- 当达到或超过最大出口时间阈值时生成陷阱。ingress-jitter-exceeded- 当达到或超过入口时间抖动阈值时,将生成陷阱。ingress-std-dev-exceeded- 当达到或超过入口时间标准偏差阈值时生成陷阱。ingress-time-exceeded- 当达到或超过最大入口时间阈值时生成陷阱。jitter-exceeded- 当达到或超过往返时间阈值中的抖动时,将生成陷阱。probe-failure—为超过的连续探针丢失阈值生成陷阱。rtt-exceeded- 当达到或超过最大往返时间阈值时生成陷阱。std-dev-exceeded- 当达到或超过往返时间标准偏差阈值时生成陷阱。test-completion- 在测试完成时生成陷阱。test-failure- 当达到或超过总探针丢失阈值时生成陷阱。
变更历史表
是否支持某项功能取决于您使用的平台和版本。使用 功能浏览器 查看您使用的平台是否支持某项功能。
icmp6-ping 。
event-processing中存在潜在限制。
icmp-ping 和
icmp-ping-timestamp RPM 探针的生成,与数据包转发引擎上生成的探针数量相比,每个服务 NPU 上生成的探针数将增加至每秒 100 万个。
[edit services rpm probe owner test test-name]层次结构级别上包括 。
inet6-options source-address ipv6-address statement