A Rust-based ping tool that pings multiple hosts concurrently with real-time charts, TCP ping, and Prometheus exporter mode.
Svedrin/meshping
Pings many targets at once, graphs response times as histograms, and maps network paths to help spot weak links.
- Stars
- 170
- Forks
- 10
- Open issues
- 22
- Last commit
- 13 days ago
What is it?
Meshping is a self-hosted network monitor that sends ICMP pings to many targets in parallel and keeps the response times as histograms rather than averages. Deploying several instances at different points in a network lets you compare links and see where latency or loss originates.
For each target it runs traceroute, performs Path MTU discovery on every hop, detects routing loops, and looks up AS information for the hops. The collected routes are drawn as an SVG network map, where nodes turn red when an outage is located along the path. Heatmaps of the last few days (configurable via an environment variable) show latency distribution over time.
The project is configured through environment variables, supports IPv6, and can be deployed with Docker. Instances can peer with each other to share target lists, and a /metrics endpoint exposes data for Prometheus.
Key features
- 01Shows latency distributions as histograms instead of averages.
- 02Runs traceroute and draws the hops as an SVG network map.
- 03Performs Path MTU discovery per hop and detects routing loops.
- 04Displays AS information for hops along each route.
- 05Exposes metrics for Prometheus and supports IPv6.
Use cases
- Locating a flaky WAN or WiFi link between sites.
- Diagnosing intermittent latency or packet loss inside a datacenter.
- Monitoring multiple targets from several vantage points on a home or office network.
Quick start
- 1
Create a working directory
mkdir meshping - 2
Download the docker-compose.yaml file from the repo
wget https://raw.githubusercontent.com/Svedrin/meshping/master/examples/docker-compose.yaml - 3
Start meshping with Docker Compose
docker compose up --detach - 4
Open the web UI at http://<your-ip>:9922
Things to know
- Deployment is built around Docker, so you need Docker installed.
- Raspberry Pi use requires a recent Docker version and libseccomp 2.4.2 or newer.
- On Windows it needs Docker Desktop with the WSL2 backend.
- Behind nginx, proxy_http_version 1.1 must be set or the UI is very slow.
In collections
Topics
FAQ
- What is meshping?
- Pings many targets at once, graphs response times as histograms, and maps network paths to help spot weak links. Meshping is a self-hosted network monitor that sends ICMP pings to many targets in parallel and keeps the response times as histograms rather than averages. Deploying several instances at different points in a network lets you compare links and see where latency or loss originates.
- Is meshping free to use? What license does it have?
- meshping is open source under the MIT license. Check the license terms before using it in commercial products.
- Is meshping still maintained?
- Actively maintained. The last commit to meshping was on Oct 25, 2026.
- What can I use meshping for?
- Locating a flaky WAN or WiFi link between sites. Diagnosing intermittent latency or packet loss inside a datacenter. Monitoring multiple targets from several vantage points on a home or office network.
- How do I install meshping?
- Create a working directory: mkdir meshping Download the docker-compose.yaml file from the repo: wget https://raw.githubusercontent.com/Svedrin/meshping/master/examples/docker-compose.yaml Start meshping with Docker Compose: docker compose up --detach Open the web UI at http://<your-ip>:9922
- Where can I get meshping?
- The source code and installation instructions are on GitHub: https://github.com/Svedrin/meshping
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
Self-hosted network speed testing and server monitoring tool with a web UI, built in Go and React.
Self-hosted software that runs scheduled internet speed tests and keeps the results for a configurable retention period.
A terminal network diagnostic tool that combines traceroute and ping to help analyze network connectivity issues.
A Shell script that runs a network quality health check on a Linux or macOS server, covering BGP, backhaul latency, routing and speed tests for mainland China.
Cross-platform GUI for visualized traceroute on Windows, Linux and macOS, using the NextTrace backend.