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):
- Idle ping — baseline latency, jitter, packet loss
- 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")
- 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¶
- Create a host with the "Internetlinie" profile (brings the visualization), or pick the "Internet line panel" device visualization on an existing host.
- 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).
- 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.