Network Probes
Network Probes
A self-hosted, "smokeping"-style network monitoring module. You install a lightweight agent on any machine —
your office, a branch site, a customer's network, a VPS in another region — and it continuously runs
ping/DNS/HTTP/traceroute checks against whatever targets you configure, reporting every result back into Chomper
as an ordinary event. No separate monitoring product, no separate database: probe results land in the same
chomper.events table as everything else, so they show up on the same kind of dashboards you already
know from the rest of Chomper.
What it measures
| Probe type | Reports | Settings |
|---|---|---|
| ICMP ping | round-trip latency, packet loss | count, interval, destination |
| DNS (dig) | resolve time, failures | count, interval, DNS server, query |
| curl (HTTP) | request time, response code | count, interval, URL |
| Traceroute | hop-by-hop route, whether the target was reached | count, interval, target, max hops |
Every probe runs a small batch of samples (say, 3 pings 5 seconds apart) and reports the whole batch as one event once the cycle finishes — that's what lets a dashboard panel draw a real latency spread for a given time bucket, not just a single averaged number.
How it works
Probes are defined once, in this module's own admin page, and every agent you enroll runs the exact same shared
set — there's no per-agent configuration to keep in sync. An agent is just a small, stdlib-only Python script
installed as a systemd service (the same shape as a Zabbix agent, restarts on its own if the box reboots). It
polls this Chomper install every 30 seconds for the current probe list, executes them locally using the host's own
ping/dig/curl/traceroute binaries, and posts results straight
to Chomper's ingestion API with its own API key — the module itself never sits in that path. An agent that
hasn't polled in 90 seconds (three missed polls) is shown as offline.
Installing an agent
Give the agent a name and Chomper hands you back a one-line install command with everything baked in — the module's own bearer key and a real ingestion API key, both shown exactly once, matching how every other credential in Chomper is handled. Run it on the machine you want measuring from:
curl -fsSL 'https://your-chomper-host/agent-proxy/network-probes/agent/v1/install-script' \ -X POST -H 'Content-Type: application/json' \ -d '{"agentId":"...","moduleKey":"...","ingestionKey":"...","moduleOrigin":"https://your-chomper-host","ingestionOrigin":"https://your-chomper-host:3000","agentName":"branch-lviv"}' \ | sudo sh
The script drops agent.py under /opt/chomper-probe-agent/, writes its config to a
root-only file, and enables chomper-probe-agent.service (Restart=always) — the
agent shows up as Online within its first 30-second poll. Losing the shown-once keys isn't fatal:
reissuing credentials for that agent generates a fresh pair and a fresh install command, no need to delete and
recreate it.
Running an agent behind your own reverse proxy or a CDN? See Self-hosting behind your own reverse proxy or CDN — agent traffic needs its own carve-out if your dashboard vhost is otherwise IP-restricted.
Dashboards
Once at least one agent is online, a one-click Create dashboard button builds a real Chomper
dashboard for you: one latency+loss panel per configured probe, an agent filter, and click-a-bucket drill-down
into the raw samples behind any point — the exact same panel type (sql_smoky) and drill-down
mechanism used throughout the rest of Chomper, so nothing about reading this dashboard is module-specific.
Managing it from your own scripts
Everything the admin UI can do — create/list/delete agents, create/edit/delete probes — is also
available as a plain HTTP API behind a single module-wide management key (generate one from the "AI / API access"
card on this module's own page). That makes it straightforward to hand the whole thing to your own AI assistant:
"add a probe checking our VPN gateway and set me up an agent for the Lviv branch" is a couple of API calls away
without touching this UI at all. Full request/response reference: import
docs/ai-context/network-probes.md into your own assistant alongside the core Chomper context file.
Pricing
$10 one-time per server, bought from your customer portal (Servers → Modules) — no subscription, no per-agent or per-probe fee.
Last updated 15 August 2026