Skip to content

Monitoring internet lines

The "Internet line (speed test)" check (internet_line) actively measures an internet line and answers the questions that otherwise only surface when the customer calls: Do we get what we pay for? Does the line choke under load? Does it drop at night?

What is measured

Each measurement runs in three phases (~30–40 s total):

  1. Idle ping — baseline latency, jitter, packet loss
  2. Download — NDT7 speed test; pinging continues in parallel → the latency increase under load becomes the bufferbloat grade A+–F (explains "video calls stutter although the speed test looks fine")
  3. Upload — NDT7 speed test, counted server-side

The line's public IP is captured as well — an IP change means a reconnect, shown as a timeline.

Setup

  1. Create a host with the "Internetlinie" profile (brings the visualization), or pick the "Internet line panel" device visualization on an existing host.
  2. Add one "Internet line (speed test)" check per line — mode passive (a collector in the customer network measures its own line) or active (the Vesana server measures its line).
  3. Set the booked bandwidth (down/up in Mbit/s) on the check. Without a target the check is purely informational and never alerts.

Multiple lines at one site = multiple checks on the same host. The collector measures them one after another so the measurements don't distort each other.

Evaluation

State Meaning
OK measured value ≥ 70 % of the target (warn threshold configurable)
WARNING worst value (down or up) below 70 % of the target
CRITICAL worst value below 50 % — or the line is completely dead (ping AND measurement failed)
UNKNOWN line reachable but the measurement server is not (e.g. M-Lab outage) — deliberately no false alarm

The line panel

On the host page under Device, the panel shows per line: target/actual for down and up with history sparklines, bufferbloat grade, ping idle→load, jitter, packet loss, public IP with a reconnect timeline (30 days) — and once enough data points exist, a time-of-day heatmap of the download ("the line degrades every evening" at a glance).

Data volume & interval

One measurement transfers several hundred MB depending on the line. Therefore:

  • Default interval 6 h (4 measurements/day) — keep it deliberately coarse
  • Built-in guard: the check never runs more often than every 15 min, no matter how it is configured
  • On metered plans (LTE/5G backup!) stretch the interval further, e.g. 24 h

Own measurement server

By default the check automatically locates the nearest M-Lab server. If you don't want third-party infrastructure, point server_url to a self-hosted ndt-server — the measurement then stays entirely in-house.