在 MX 系列路由器和 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。
-
如果您使用的是 MS-MPC 或 MS-MIC,则 IPsec 隧道和 GRE 隧道支持基于 PIC 和基于路由引擎的 RPM。IPsec 隧道不支持基于数据包转发引擎的 RPM。支持 IPSec 隧道上的 RPM,可以对在 IPSec 隧道中传输的流量进行服务级别协议 (SLA) 监控。
-
您可以在 MS-MPC 或 MS-MIC 上配置 IPv4
icmp-ping和icmp-ping-timestampRPM 探针的生成,与数据包转发引擎上生成的探针数量相比,这会将每个服务 NPU 上生成的探针数量增加到每秒 100 万个。您可以在 MS-MPC 或 MS-MIC 上配置 RPM 探针的生成icmp6-ping。要配置在 MS-MPC 或 MS-MIC 上生成 RPM 探针:-
在层次结构级别包括
[edit services rpm probe owner test test-name],destination-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 探针。对于在 MS-MPC 或 MS-MIC 上生成的 RPM 探针,您可以使用其他过滤器来限制 show services rpm probe-results 和 show services rpm history-results 命令的输出。
-
-
您可以针对 IPv4 的 RPM 测试优化 CLI 配置。从 Junos OS 18.2R1 版开始,您还可以针对 IPv6 的 RPM 测试优化 CLI 配置。此优化允许使用最小的 RPM 配置语句来生成多个测试(最多 100K 测试),其中包含预定义的保留 RPM 测试名称。可以为使用由数据包转发引擎或 MS-MPC 或 MS-MIC 生成的探针进行测试配置此优化。系统会为源地址和目标地址的多种组合生成测试,这些组合会根据您的配置递增。
各种 Junos 版本支持的最大并发 RPM 探测数如下:
-
而不配置语
delegate-probes句 — 2000 对于 ICMP 和 ICMP 时间戳探测类型。对于其他类型的探针(UDP 和 TCP),限制为 500。 -
通过配置 delegate-probes 语句)— 每个服务 NPU 100 万个。
注意:一个 MS-MIC 包含一个服务 NPU,一个 MS-MPC 包含四个服务 NPU。
通过配置 delegate-probes 语句,RPM 探针符合 RFC792 和 RFC4443。因此,它们可用于监控任何符合任一 RFC 的 IP 设备,并能够响应 icmp-timestamp 和/或 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语句对 orhttp-metadata-get探针类型无http-get效。要指定 ICMP 探针的数据部分的大小,请在层次结构级别包含该
data-size语句[edit services rpm probe owner]。大小可以是 from0through65400,默认大小为0。该data-size语句对 orhttp-metadata-get探针类型无http-get效。注意:如果配置硬件时间戳功能(请参阅 在 MX、M、T 和 PTX 系列路由器以及 EX 系列交换机上配置 RPM 时间戳):
data-size默认值为 32 字节,32 是显式配置的最小值。UDP 时间戳探测类型是一个例外;它要求最小数据大小为 44 字节。语句上的
data-size配置值必须至少比 RPM 客户端接口接口的默认 MTU 小 100 个字节。
在 MX 系列路由器上,您可以配置该
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或从4916065535。如果配置或
probe-type udp-pingprobe-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。要指定存储的历史记录条目的数量,请在层次结构级别包含
history-size[edit services rpm probe owner test test-name]该语句。指定从 到 的0512值。默认值为50。要指定用于进行统计计算的样本数量,请在层次结构级别包括
moving-average-size[edit services rpm probe owner test test-name]该语句。指定到255的值0。要指定测试中的探针数量,请在层次结构级别包含
[edit services rpm probe owner test test-name]该probe-count语句。指定到15的值1。要指定发送数据包之间的等待时间,请在层次结构级别包含
[edit services rpm probe owner test test-name]该probe-interval语句。指定一个从秒到255秒的1值。要指定探测的数据包和协议内容,请在层次结构级别包含
probe-type[edit services rpm probe owner test test-name]该语句。支持以下探针类型:http-get— 向目标 URL 发送超文本传输协议 (HTTP) 获取请求。http-metadata-get— 将元数据的 HTTP get 请求发送到目标 URL。icmp-ping— 将 ICMP 回显请求发送到目标地址。icmp-ping-timestamp— 将 ICMP 时间戳请求发送到目标地址。tcp-ping— 向目标发送 TCP 数据包。udp-ping— 向目标发送 UDP 数据包。udp-ping-timestamp— 将 UDP 时间戳请求发送到目标地址。
以下探针类型支持探针数据包的硬件时间戳记:
icmp-ping、icmp-ping-timestamp、udp-ping、udp-ping-timestamp。委托探针在 3 秒的间隔内均匀分布,以避免由于实时性能监控 (RPM) 而导致网络中数据包突发。随着 RPM 委托测试的渐变时间增加到 60 秒,处理 RPM 系统日志。处理 RPM 系统日志后,多个测试同时开始和结束的可能性较小,因此 中的潜在限制event-processing。注意:某些探针类型需要配置其他参数。例如,指定
tcp-ping或udp-ping选项时,必须使用该语句配置destination-port目的端口。该udp-ping-timestamp选项要求最小数据大小为 12;任何较小的数据大小都会导致提交错误。TCP 探测数据包的最小数据大小为 1。如果与命令
one-way-hardware-timestamp一起配置或probe-type udp-ping-timestamp进行配置,probe-type udp-ping则destination-port的值只能是 7。在这种情况下,约束检查将阻止您为目标端口配置任何其他值。要指定 ICMP 探测使用的路由实例,请在层次结构级别包含
[edit services rpm probe owner test test-name]该routing-instance语句。默认路由实例是 Internet 路由表inet.0。要指定用于 ICMP 探测的源 IP 地址,请在层次结构级别包含
[edit services rpm probe owner test test-name]该source-address语句。如果源 IP 地址不是路由器的分配地址之一,则数据包将使用传出接口的地址作为其源地址。要指定要用于从 RPM 客户端(发起 RPM 数据包的设备)发送到 RPM 服务器(接收 RPM 探针的设备)的 RPM 探测的源 IPv6 地址,请在层次结构级别包括
[edit services rpm probe owner test test-name]。inet6-options source-address ipv6-address statement如果源 IPv6 地址不是路由器或交换机的分配地址之一,则数据包将使用传出接口的地址作为其源地址。要指定用于探测的目的地址,请在层次结构级别包含
target[edit services rpm probe owner test test-name]该语句。对于 HTTP 探测类型,请指定包含在 URL 地址中的完整
http://格式 URL。对于所有其他探测类型,请为目标主机指定 IP 版本 4 (IPv4) 或 IP 版本 6 (IPv6) 地址。
要指定测试之间的等待时间,请在层次结构级别包含
test-interval[edit services rpm probe owner test test-name]该语句。指定一个从秒到86400秒的0值。值为 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