finds.dev← search

// the find

syepes/network_exporter

★ 563 · Go · Apache-2.0 · updated Sep 2026

ICMP / Ping & MTR & TCP Port & HTTP Get - Network Prometheus exporter

A single Go binary that acts as a Prometheus exporter for four kinds of network checks: ICMP ping, MTR-style traceroute, TCP port, and HTTP GET. It's aimed at people who currently stitch together blackbox-exporter, smokeping, and custom traceroute scripts and want one process with Grafana dashboards included.

Dynamic reconfiguration is handled properly: SIGHUP, a timed refresh interval, and a cross-platform POST /-/reload endpoint, with reloads serialized so concurrent triggers can't race on the target set. It exposes real self-monitoring metrics (probe_duration, probe_inflight, probe_queue_wait_seconds, last_completion_timestamp) so you can tune --max-concurrent-jobs from measured scheduler behavior instead of guesswork, backed by a bundled Grafana dashboard. It also handles networking edge cases most exporters skip: SRV record expansion into individual targets, short-TTL DNS result caching so periodic reconciliation doesn't hammer the resolver, and a configurable initial TTL to work around Cilium dropping low-TTL traceroute packets as invalid.

The /-/reload endpoint has no authentication and shares the metrics listener, so anyone who can scrape /metrics can also force a config reload — fine on a private network, a problem if that port is ever exposed more broadly. --max-concurrent-jobs is a per-target cap, not a global one, so the operator has to do the targets × jobs arithmetic themselves (the README spends several tables on this) rather than the exporter bounding total resource use directly. network_exporter_probe_skipped_total is documented as always zero right now, a placeholder metric reserved for a scheduler that doesn't exist yet, which is a little misleading if you build an alert on it. ICMP/MTR require raw sockets (NET_ADMIN/NET_RAW or privileged containers, or setcap for non-root), and there's no Windows-specific MTR implementation in the source tree, so ICMP-mode traceroute is effectively Unix-only — Windows users need protocol: tcp for MTR.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →