Description
Nezha (哪吒) est une plateforme de monitoring serveur self-hosted originaire de Chine et devenue très populaire dans la communauté homelab. Elle se distingue par son architecture agent/serveur minimaliste : un binaire Go léger poussé sur chaque machine, qui remonte en temps réel CPU, RAM, disque, réseau et uptime vers un dashboard central.
Contrairement à [[app-prometheus]] ou [[app-netdata]] qui sont orientés métriques/graphes, Nezha mise sur une vision globale « cockpit » : un seul écran affiche l'état de tous vos serveurs avec statuts colorés, alertes, et un historique de disponibilité.
- ✅ Monitoring temps réel : CPU, RAM, swap, disque, réseau, load average
- ✅ Agent ultra-léger : binaire statique Go (~10 Mo), consomme < 50 Mo de RAM
- ✅ Alertes : seuils CPU/RAM/disque, expiration de certificats, down de service
- ✅ Notifications : Telegram, Discord, Slack, Email, Webhook, Bark, PushPlus
- ✅ Status page publique personnalisable
- ✅ Commandes à distance : exécuter un script sur un agent via le dashboard (avec confirmation)
- ✅ Multi-utilisateurs avec rôles
- ✅ Pas de base de données : stockage SQLite embarqué
- ✅ Docker, binaire Linux, One-Click scripts (curl | bash)
- ✅ i18n : chinois, anglais, japonais (FR partiel via traduction communautaire)
Public cible : homelabeurs et admins de petits parcs (< 100 serveurs) qui veulent un cockpit visuel sans se battre avec Prometheus + Grafana. Pour du graphique fin ou des millions de samples, partez sur [[app-netdata]] ou VictoriaMetrics.
Installation
Option 1 : Docker Compose (serveur + agent intégrés)
# docker-compose.yml
version: '3.8'
services:
nezha:
image: ghcr.io/nezhahq/nezhahq:latest
container_name: nezha
restart: unless-stopped
ports:
- "8008:8008" # Web UI
- "5555:5555" # Agent gRPC
volumes:
- nezha-data:/dashboard
labels:
- "traefik.enable=true"
- "traefik.http.routers.nezha.rule=Host(`nezha.example.com`)"
- "traefik.http.routers.nezha.entrypoints=websecure"
- "traefik.http.routers.nezha.tls.certresolver=letsencrypt"
- "traefik.http.services.nezha.loadbalancer.server.port=8008"
volumes:
nezha-data:
Option 2 : One-Click install (script officiel)
curl -L https://raw.githubusercontent.com/nezhahq/script/main/agent/install.sh -o nezha-agent.sh chmod +x nezha-agent.sh sudo ./nezha-agent.sh # Répondre aux questions : URL dashboard, secret
Option 3 : Binaire natif (agent seul)
wget https://github.com/nezhahq/agent/releases/latest/download/nezha-agent_linux_amd64.zip unzip nezha-agent_linux_amd64.zip chmod +x nezha-agent sudo ./nezha-agent -s dashboard.example.com:5555 -p SECRET_KEY
Configuration
- Accéder au dashboard :
https://nezha.example.com(via [[app-traefik]]) - Créer le compte admin au premier lancement
- Ajouter un serveur : Servers > Add > récupérer la commande d'installation de l'agent
- Déployer l'agent sur chaque machine à surveiller (Docker, script, binaire, ou OpenWrt)
- Configurer les canaux de notification : Settings > Notification > Telegram/Discord
- Définir les règles d'alerte : par serveur, seuils CPU/RAM/disque, expiration SSL
Alternatives
Open Source
- [[app-netdata]] — Métriques système en temps réel avec graphs détaillés
- [[app-glances]] — Monitoring console/terminal cross-platform
- [[app-uptime-kuma]] — Focus uptime/HTTP plutôt que ressources système
- [[app-prometheus]] + Grafana — Stack pro, alerting avancé, mais lourde
Comparaison Nezha vs autres
| Critère | Nezha | Netdata | Uptime Kuma | Prometheus |
|---|---|---|---|---|
| Self-hosted | ✅ | ✅ | ✅ | ✅ |
| UI moderne | ✅ | ✅ | ✅ | ❌ (Grafana) |
| Agents distribués | ✅ | ✅ | ❌ | ✅ |
| Métriques système | ✅ | ✅✅ | ⚠️ ping | ✅ |
| Alertes | ✅ | ✅ | ✅ | ✅✅ |
| Base de données | ❌ (SQLite) | ⚠️ | ❌ | ✅ TSDB |
| Setup | 5 min | 10 min | 5 min | 30+ min |
Verdict : Nezha est le meilleur compromis pour un dashboard centralisé multi-serveurs sans usine à gaz. Si vous voulez des graphs d'une profondeur infinie, allez sur [[app-netdata]] ; pour du pro, Prometheus + Grafana.
Propriétaires (ce que Nezha remplace)
- Uptime.com — Monitoring fleet payant
- Better Stack — Cockpit serveur/incident
- Hetrixtools — Free tier basique
- Solarwinds (enterprise)
Sécurité
- Auth intégrée avec sessions sécurisées + 2FA (TOTP)
- HTTPS obligatoire via [[app-traefik]] (reverse proxy + Let's Encrypt)
- Agent ↔ Serveur : communication chiffrée sur gRPC (port 5555)
- Commandes à distance : restreindre les scripts autorisés (whitelist)
