#性能监控 #抖动 #中值 #网络 #ping #范围 #插件

bin+lib check-jitter

测量网络抖动的监控插件

25个版本 (13个稳定版)

1.3.5 2024年8月22日
1.3.4 2024年8月21日
1.3.1 2024年7月12日
0.3.0 2024年7月7日
0.1.0 2024年7月4日

#375 in 网络编程

Download history 942/week @ 2024-07-04 573/week @ 2024-07-11 58/week @ 2024-07-25 17/week @ 2024-08-01 203/week @ 2024-08-15

每月ISC许可证

ISC 许可证

53KB
1K SLoC

check_jitter

crates.io Documentation ISC licensed

该插件通过向主机发送一定数量的ICMP ping并基于连续往返时间的差异来计算平均抖动来测量网络抖动。

示例命令

Command:
------------------------------------------------------------------
check_jitter -H 192.168.1.1 -w 10 -c 20 -m 5 -M 50 -s 30 -a median
           |              |     |     |    |     |     |    |
           |              |     |     |    |     |     |    +- Aggregation method: median
           |              |     |     |    |     |     +------ Number of pings to send: 30
           |              |     |     |    |     +------------ Max interval between pings: 50ms
           |              |     |     |    +------------------ Min interval between pings: 5ms
           |              |     |     +----------------------- Critical jitter limit: 20ms
           |              |     +----------------------------- Warning jitter limit: 10ms
           |              +----------------------------------- Host: 192.168.1.1
           +-------------------------------------------------- Command: check_jitter

Output:
------------------------------------------------------------------
OK - Median Jitter: 0.182ms | 'Median Jitter'=0.182ms;0:10;0:20;0
|                                         |       |     |    |  |
|                                         |       |     |    |  +- Minimum possible value (always 0)
|                                         |       |     |    +---- Critical range: 0 to 20ms
|                                         |       |     +--------- Warning range: 0 to 10ms
|                                         |       +--------------- Median jitter: 0.182ms
|                                         +----------------------- Performance data label: 'Median Jitter'
+----------------------------------------------------------------- Status: OK

Explanation of Output:
------------------------------------------------------------------
- Status: OK
  Indicates that the median jitter is within acceptable limits.

- Median Jitter: 0.182ms
  The aggregated median jitter value.

- Performance Data:
  'Median Jitter'=0.182ms;0:10;0:20;0
   |                  |    |    |   |
   |                  |    |    |   +- Minimum possible value (always 0)
   |                  |    |    +----- Critical range: 0 to 20ms
   |                  |    +---------- Warning range: 0 to 10ms
   |                  +--------------- Median jitter value: 0.182ms
   +---------------------------------- Performance data label: 'Median Jitter'

- Unit of Measurement (uom): ms (milliseconds)
  Indicates the measurement unit used in the performance data.

Reason for Status:
----------------------------------------------------------------------
The command did not trigger a warning or critical alert because:
- The median jitter value (0.182ms) is within the defined warning range (0 to 10ms).
- The median jitter value (0.182ms) is within the defined critical range (0 to 20ms).

帮助文本

check_jitter - A monitoring plugin that measures network jitter.

AGGREGATION METHOD

The plugin can aggregate the deltas from multiple samples in the following ways:
- average: the average of all deltas (arithmetic mean) [default]
- median: the median of all deltas
- max: the maximum of all deltas
- min: the minimum of all deltas

SAMPLES

The number of pings to send to the target host. Must be greater than 2.

SAMPLE INTERVALS

When -m and -M are both set to 0, the plugin will send pings immediately after
receiving a response.

When -m and -M are set to the same value, the plugin will send pings at a fixed
interval.

When -m and -M are set to different values, the plugin will send pings at random
intervals between the two values.

-m must be less than or equal to -M.

THRESHOLD SYNTAX

Thresholds are defined using monitoring plugin range syntax.

Example ranges:
+------------------+-------------------------------------------------+
| Range definition | Generate an alert if x...                       |
+------------------+-------------------------------------------------+
| 10               | < 0 or > 10, (outside the range of {0 .. 10})   |
+------------------+-------------------------------------------------+
| 10:              | < 10, (outside {10 .. ‚àû})                       |
+------------------+-------------------------------------------------+
| ~:10             | > 10, (outside the range of {-‚àû .. 10})         |
+------------------+-------------------------------------------------+
| 10:20            | < 10 or > 20, (outside the range of {10 .. 20}) |
+------------------+-------------------------------------------------+
| @10:20           | ≥ 10 and ≤ 20, (inside the range of {10 .. 20}) |
+------------------+-------------------------------------------------+

Usage: check_jitter [OPTIONS] --host <HOST>

Options:
  -a, --aggregation-method <AGGREGATION_METHOD>
          Aggregation method to use for multiple samples [default: average]
  -c, --critical <CRITICAL>
          Critical limit for network jitter in milliseconds
  -D, --dgram-socket
          Use a datagram socket instead of a raw socket (expert option)
  -H, --host <HOST>
          Hostname or IP address to ping
  -m, --min-interval <MIN_INTERVAL>
          Minimum interval between ping samples in milliseconds [default: 0]
  -M, --max-interval <MAX_INTERVAL>
          Maximum interval between ping samples in milliseconds [default: 0]
  -p, --precision <PRECISION>
          Precision of the output decimal places [default: 3]
  -s, --samples <SAMPLES>
          Sample size: the number of pings to send [default: 10]
  -t, --timeout <TIMEOUT>
          Timeout in milliseconds per individual ping check [default: 1000]
  -w, --warning <WARNING>
          Warning limit for network jitter in milliseconds
  -v, --verbose...
          Enable verbose output. Use multiple times to increase verbosity (e.g. -vvv)
  -h, --help
          Print help
  -V, --version
          Print version

安装

最新发布页面 下载最新的Linux或Windows二进制文件。

与NRPE或类似工具一起使用,最好与 Opsview 一起使用。

请注意,该插件需要提升权限,因此您必须在二进制文件上使用 setuidsetcap cap_net_raw+ep

许可证

版权所有 © 2024 Johan Thorén [email protected]

本项目采用ISC许可证发布。有关更多详细信息,请参阅LICENSE文件。

依赖项

~4–13MB
~157K SLoC