---
title: Meshping
created: 2026-06-07
updated: 2026-06-07
type: app
tags: [catalogue, networking, mesh, monitoring, go, low-resource]
confidence: medium
contested: false
sources: [https://selfh.st/apps/?tag=networking, https://github.com/meshping/meshping]
---

# Meshping 📡

> Outil Go pour surveiller la santé d'un réseau maillé (mesh) : ping en grille de tous les nœuds entre eux avec matrice de latence.

| Métadonnée | Valeur |
| :--- | :--- |
| **Site web** | https://github.com/meshping/meshping |
| **GitHub** | https://github.com/meshping/meshping |
| **License** | Apache-2.0 |
| **Langage** | Go |
| **Étoiles** | 10 ⭐ |
| **Dernière MAJ** | 2024 |
| **Catégorie** | [[cat-networking]] |

## Description

**Meshping** est un service de monitoring conçu spécifiquement pour les **réseaux maillés** (mesh networks) : il maintient une matrice N×N des latences ping entre tous les nœuds d'un cluster, et visualise l'évolution temporelle pour détecter les liens faibles, les routes qui se dégradent, ou les partitions partielles.

L'idée : dans un réseau mesh (B.A.T.M.A.N., OLSR, 802.11s, Zerotier, Tailscale, ou un cluster Kubernetes auto-hébergé), chaque nœud peut joindre tous les autres — mais la qualité des liens varie. Meshping fait un **ping ICMP** croisé de chaque nœud vers tous les autres, stocke les RTT dans une base locale, et expose une interface web avec :

- **Heatmap** de latence actuelle entre chaque paire
- **Graphes temporels** par lien
- **Détection d'anomalies** simple (écart-type par rapport à la baseline)
- **Alertes** webhook si un lien dépasse un seuil

L'app est écrite en Go, distribuable en **binaire statique unique** (≈15 Mo), sans dépendance externe, et peut tourner en mode **agent** (sur chaque nœud du mesh) ou en **collecteur central** (qui interroge les agents). Projet jeune, à utiliser avec prudence sur des mesh de production critiques.

## Installation

### Docker Compose (mode collecteur)

```yaml
services:
  meshping:
    image: ghcr.io/meshping/meshping:latest
    container_name: meshping
    restart: unless-stopped
    environment:
      - TZ=Europe/Paris
      - LISTEN_PORT=8089
      - NODES_FILE=/data/nodes.txt
    volumes:
      - ./nodes.txt:/data/nodes.txt:ro
      - meshping-data:/data
    ports:
      - "8089:8089"

volumes:
  meshping-data:
```

### Manuelle (binaire)

```bash
git clone https://github.com/meshping/meshping.git
cd meshping
go build -o meshping .
./meshping -nodes ./nodes.txt -port 8089
```

## Configuration

`nodes.txt` (un nœud par ligne) :

```
node1.lan
node2.lan
node3.lan
gateway.lan
```

Variables d'environnement clés :
- `PING_INTERVAL=30s`
- `PING_TIMEOUT=2s`
- `ALERT_WEBHOOK=https://ntfy.example.com/meshping`
- `BASELINE_DAYS=7`

## Alternatives

- **Open Source** : [[app-uptime-kuma]] (mono-URL, pas de matrice mesh), [Smokeping](https://github.com/oetiker/Smokeping) (le classique pour la latence, sans notion de mesh), [Netdata](https://github.com/netdata/netdata) (métrique système, pas mesh)
- **Kubernetes** : [Kube-prometheus](https://github.com/prometheus-operator/kube-prometheus) pour la santé des pods/nodes
- **Mesh spécifiques** : [batctl](https://www.open-mesh.org/projects/batman-adv/wiki/Wishlist) (diagnostic B.A.T.M.A.N.), `olsrd` status page
- **Propriétaire** : Datadog Network Performance, Catchpoint (chers, orientés cloud)

## Sécurité

- **Ping ICMP** : nécessite généralement `CAP_NET_RAW` ou root — l'image Docker doit être lancée avec `--cap-add=NET_RAW` ou `--privileged` (à limiter).
- **Exposition** : l'interface web révèle la topologie du mesh — placer derrière VPN ou auth basic.
- **Binaire tiers** : reconstruire depuis les sources, le projet est jeune.
- **Webhook secrets** : passés en variable d'environnement, jamais en clair.

## Ressources

- [selfh.st — Networking](https://selfh.st/apps/?tag=networking)
- [GitHub meshping/meshping](https://github.com/meshping/meshping)
- [Smokeping — inspiration historique](https://oss.oetiker.ch/smokeping/)

## Pages Liées

- [[cat-networking]]
- [[recettes-docker-compose]]
- [[app-uptime-kuma]] — monitoring de services
- [[app-netdata]] — métriques système par nœud
