Initial vault setup

This commit is contained in:
2026-06-09 18:40:21 +02:00
commit bda02d587f
3692 changed files with 402457 additions and 0 deletions
+114
View File
@@ -0,0 +1,114 @@
---
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