/tool/netwatch
netwatch
Monitor network hosts with simple, ICMP, TCP, HTTP, HTTPS and DNS probes, and run scripts on state changes. See the Netwatch guide.
tool/netwatch
Type: Directory
使用 simple、ICMP、TCP、HTTP、HTTPS 和 DNS 探测监控网络主机,并在状态变化时运行脚本。参见 Netwatch 指南。
| 标志 | 名称 | 描述 |
|---|---|---|
X | disabled | 已禁用 |
| 参数 | 类型 | 描述 |
|---|---|---|
name | string | Netwatch 探测的名称;命名探测在日志行中通过它来标识(未命名探测则记录其类型和主机)。 |
host * | address (flags=46viD) | 要探测的服务器的 IP 地址或域名。接受带 VRF 后缀的地址(192.0.2.1@vrf1)以及带接口后缀的 IPv6 链路本地地址(fe80::1%ether1)。参见地址标志 |
type | enum (simple | icmp | tcp-conn | http-get | https-get | dns) | 探测类型(默认值:"simple"): - simple - 简化的 ICMP 探测,选项比 "ICMP" 类型少,用于与旧版 Netwatch 向后兼容 - icmp - (ping 风格)带统计的 ICMP 请求-响应序列 - tcp-conn - 测试到由 IP 和端口指定的服务器的 TCP 连接(三次握手) - http-get - 执行 HTTP Get 请求并测试回复是否在正确范围内 - https-get - 执行 HTTPS Get 请求并测试回复是否在正确范围内 - dns - 对域名执行指定的 DNS 查询 |
src-address | address (flags=46) | Netwatch 尝试用于到达主机的源 IP 地址。如果该地址未在路由器上配置或已丢失,则主机将被视为 "down"。参见地址标志 |
interval | time | 探测测试之间的时间间隔。(默认值:10s,simple 探测除外:60s) |
timeout | time | 等待响应的最长时间限制。(默认值:3s) |
start-delay | time | 开始探测前等待的时间。(默认值:3s)(在添加、启用或系统启动时,"startup-delay" 值小于 "start-delay" 值的情况下) |
startup-delay | time | 系统启动后等待多久再开始 Netwatch 探测。(默认值:5m) |
ignore-initial-up | bool | 指定当探测状态从 Unknown 变为 "Up" 时是否应运行 "Up" 脚本,用于帮助避免启用探测后或重启后的误报。"no" 表示从 "Unknown" 到 "Up" 的变化不会被忽略。(默认值:no) |
ignore-initial-down | bool | 指定当探测状态从 Unknown 变为 "Down" 时是否应运行 "Down" 脚本。"no" 表示从 "Unknown" 到 "Down" 的变化不会被忽略。(默认值:no) 警告:应谨慎使用,因为第一个 "Down" 状态不会执行,Down 脚本仅在探测从 "Up" 变为 "Down" 状态时运行。 |
up-script | alt { script: string } | 探测状态从 "Down" 变为 "Up" 时执行的脚本。 |
down-script | alt { script: string } | 探测状态从 "Up" 变为 "Down" 时执行的脚本。 |
test-script | alt { script: string } | 每次探测测试结束时执行的脚本。 |
packet-interval | time | 发送 ICMP 请求数据包之间的时间。此参数特定于 ICMP 探测类型。(默认值:50ms) |
packet-count | num | 单次测试中要发送的 ICMP 数据包总数。此参数特定于 ICMP 探测类型。(默认值:10) |
packet-size | num | IP ICMP 数据包的总大小。此参数特定于 ICMP 探测类型。(默认值:50) |
ttl | num | 手动设置 ICMP 数据包的生存时间值。此参数特定于 ICMP 探测类型。(默认值:255) |
accept-icmp-time-exceeded | bool | ICMP "time exceeded" 消息是否应被视为有效响应。此参数特定于 ICMP 探测类型。(默认值:no) |
early-success-detection | bool | 一旦结果确定,Netwatch 会在处理完整数据包序列之前报告 "Up" 状态,例如当剩余数据包无法再将丢失推过 thr-loss-count 时。此参数特定于 ICMP 探测类型。(默认值:no) |
early-failure-detection | bool | 一旦确定失败,Netwatch 会在处理完整数据包序列之前报告 "Down" 状态,例如当丢失超过 thr-loss-count 时。此参数特定于 ICMP 探测类型。(默认值:no) |
thr-max | time | rtt-max 的失败阈值。(高于 thr-max 的值表示探测失败)此参数特定于 ICMP 探测类型。(默认值:1s) |
thr-avg | time | rtt-avg 的失败阈值。(平均往返时间)此参数特定于 ICMP 探测类型。(默认值:100ms) |
thr-stdev | time | rtt-stdev 的失败阈值。(往返时间的标准差)此参数特定于 ICMP 探测类型。(默认值:250ms) |
thr-jitter | time | rtt-jitter 的失败阈值。(往返时间的抖动(= max - min))此参数特定于 ICMP 探测类型。(默认值:1s) |
thr-loss-percent | num | loss-percent 的失败阈值。(丢失数据包数的百分比)此参数特定于 ICMP 探测类型。(默认值:85%) |
thr-loss-count | num | loss-count 的失败阈值。(丢失数据包数)此参数特定于 ICMP 探测类型。(默认值:4294967295(最大)) |
port | num | TCP 端口。此参数特定于 TCP-conn 和 HTTP/S-GET 探测类型。(默认值:80(TCP-conn、HTTP-GET)和 443(HTTPS-GET)) |
thr-tcp-conn-time | time | tcp-connect-time 的失败阈值,配置使用微秒,如果未指定时间单位(s/m/h),日志和状态页面以毫秒显示相同的值。此参数特定于 TCP-conn 探测类型。(默认值:1s) |
thr-http-time | time | http-resp-time 的失败阈值。此参数特定于 HTTP/S-GET 探测类型。(默认值:10s) |
http-codes | multi { http-response-range: range [100 .. 599] } | 被接受为探测 "Up" 状态的 HTTP 响应状态代码范围。参见 mozilla-http-status 或 RFC7231。此参数特定于 HTTP/S-GET 探测类型。(默认值:100-299) |
certificate | enum (none) { none:0 } | 用于主机验证的本地存储中的证书。此参数特定于 HTTPS-GET 探测类型。 |
check-certificate | bool | 启用来自本地证书存储的信任链验证。此参数特定于 HTTPS-GET 探测类型。(默认值:no) |
record-type | enum (A | AAAA | MX | NS) | 用于 DNS 探测的记录类型。此参数特定于 DNS 探测类型。(默认值:A) |
dns-server | address (flags=46) | 探测应向其发送请求的 DNS 服务器;如果未指定,则使用 /ip/dns 中的值。探测由自己的 timeout 控制节奏,而不是 /ip/dns 的 query-server-timeout。此参数特定于 DNS 探测类型。参见地址标志 |
| 只读参数 | 类型 | 描述 |
|---|---|---|
status | enum (unknown | down | up) | 探测的当前状态。 |
since | date | 上次状态变更的时间。 |
done-tests | num | 已完成的探测测试总数。 |
failed-tests | num | 失败的探测测试总数。 |
sent-count | num | 上次探测测试中发送的 ICMP 数据包数量。此参数特定于 ICMP 探测类型。 |
response-count | num | 上次探测测试中收到的 ICMP 响应数据包数量。此参数特定于 ICMP 探测类型。 |
loss-count | num | 上次探测测试中丢失的 ICMP 响应数据包数量。此参数特定于 ICMP 探测类型。 |
loss-percent | num | 上次探测测试中丢失的 ICMP 响应数据包百分比。此参数特定于 ICMP 探测类型。 |
rtt-avg | time | 往返时间的平均值。此参数特定于 ICMP 探测类型。 |
rtt-min | time | 最小往返时间。此参数特定于 ICMP 探测类型。 |
rtt-max | time | 最大往返时间。此参数特定于 ICMP 探测类型。 |
rtt-jitter | time | 往返时间的抖动(= max - min)。此参数特定于 ICMP 探测类型。 |
rtt-stdev | time | 往返时间的标准差。此参数特定于 ICMP 探测类型。 |
tcp-connect-time | time | 建立 TCP 连接所用的时间。此参数特定于 TCP-conn 探测类型。 |
http-status-code | num | HTTP 响应状态代码(200 OK、404 Not Found 等)。参见 mozilla-http-status 或 RFC7231。此参数特定于 HTTP/S-GET 探测类型。 |
http-resp-time | time | HTTP/S 服务器在收到请求后发送响应所用的时间,通常以毫秒计。此参数特定于 HTTP/S-GET 探测类型。 |
ip | ipAddr | IPv4 IP 地址 - A 记录类型探测的结果。此参数特定于 DNS 探测类型。 |
ip6 | ip6Addr | IPv6 IP 地址 - AAAA 记录类型探测的结果。此参数特定于 DNS 探测类型。 |
name-servers | multi { array-id, name-servers: string } | 名称服务器 - NS 记录类型探测的结果。此参数特定于 DNS 探测类型。 |
mail-servers | multi { array-id, mail-servers: string } | 邮件服务器及其优先级 - MX 记录类型探测的结果。此参数特定于 DNS 探测类型。 |