CHOMPER WIKI

No results for “”

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 typeReportsSettings
ICMP pinground-trip latency, packet losscount, interval, destination
DNS (dig)resolve time, failurescount, interval, DNS server, query
curl (HTTP)request time, response codecount, interval, URL
Traceroutehop-by-hop route, whether the target was reachedcount, 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.

Network Probes admin page with three agents online and four configured probes
Three real agents (kyiv-office, warsaw-edge, us-east-vps) online and polling, running a shared set of four probes below them.

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:

Creating an agent and revealing its one-line curl-piped install command
The generated command installs agent.py, writes its config, and enables a systemd unit — nothing to configure by hand on the target box.
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.

Auto-built Network Probes dashboard with real DNS, curl and traceroute panels
DNS, curl and traceroute panels built from the three agents above — real dig/curl/traceroute output, not sample data. An ICMP panel looks the same way once ping samples are coming in.

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