Prérequis
- Un serveur Ubuntu/Debian ou AlmaLinux/Rocky Linux
- Accès root ou sudo
Netdata est un outil de monitoring en temps réel avec une interface web élégante. Il surveille CPU, RAM, disques, réseau, et des centaines d'applications sans configuration.
1. Installation rapide
# Installation automatique
bash <(curl -Ss https://my-netdata.io/kickstart.sh)
# Ou avec wget
bash <(wget -qO- https://my-netdata.io/kickstart.sh)2. Accéder à Netdata
# Netdata écoute sur le port 19999
# Ouvrez http://VOTRE_IP:19999 dans votre navigateur
# Vérifier le statut
systemctl status netdata3. Ouvrir le port (optionnel)
# Si vous voulez accéder depuis l'extérieur
ufw allow 19999/tcp
# Mieux : limiter à votre IP
ufw allow from VOTRE_IP to any port 19999# Si vous voulez accéder depuis l'extérieur
firewall-cmd --permanent --add-port=19999/tcp
firewall-cmd --reload
# Mieux : limiter à votre IP
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="VOTRE_IP" port protocol="tcp" port="19999" accept'
firewall-cmd --reloadSécurité
Par défaut, Netdata n'a pas d'authentification ! Ne l'exposez pas sur Internet sans protection (reverse proxy avec auth, ou restriction IP).
4. Ce que surveille Netdata
- CPU : Utilisation par core, fréquence, température
- Mémoire : RAM, swap, cache
- Disques : I/O, latence, espace utilisé
- Réseau : Bande passante, paquets, erreurs
- Processus : Liste, ressources par processus
- Applications : Nginx, Apache, MySQL, PostgreSQL, Redis, MongoDB, Docker...
- Système : Uptime, utilisateurs connectés, interruptions
5. Configuration
# Configuration principale
/etc/netdata/netdata.conf
# Éditer la configuration
cd /etc/netdata
sudo ./edit-config netdata.conf
# Configurations des collectors
ls /etc/netdata/go.d/
ls /etc/netdata/python.d/6. Restreindre l'accès
# Éditer netdata.conf
sudo nano /etc/netdata/netdata.conf
# Dans la section [web], ajouter :
[web]
bind to = 127.0.0.1
# Redémarrer
sudo systemctl restart netdata
# Accédez ensuite via un tunnel SSH :
# ssh -L 19999:localhost:19999 user@serveur
# Puis ouvrez http://localhost:199997. Configurer les alertes
# Éditer la configuration des alertes
sudo /etc/netdata/edit-config health_alarm_notify.conf
# Configurer l'email
SEND_EMAIL="YES"
DEFAULT_RECIPIENT_EMAIL="admin@votredomaine.com"
# Tester les alertes
sudo su -s /bin/bash netdata -c "/usr/libexec/netdata/plugins.d/alarm-notify.sh test"8. Alertes Discord/Slack
# Dans health_alarm_notify.conf
SEND_DISCORD="YES"
DISCORD_WEBHOOK_URL="https://discord.com/api/webhooks/VOTRE_WEBHOOK"
DEFAULT_RECIPIENT_DISCORD="alerts"9. Monitoring Docker
# Netdata détecte automatiquement Docker
# Assurez-vous que l'utilisateur netdata a accès au socket Docker
sudo usermod -aG docker netdata
sudo systemctl restart netdata10. Netdata Cloud (optionnel)
Netdata Cloud permet de centraliser le monitoring de plusieurs serveurs gratuitement :
- Créez un compte sur app.netdata.cloud
- Créez un 'Space' pour vos serveurs
- Copiez la commande de connexion fournie
- Exécutez-la sur votre serveur
Commandes utiles
# Statut
systemctl status netdata
# Redémarrer
systemctl restart netdata
# Voir les logs
journalctl -u netdata -f
# Mettre à jour
sudo /usr/libexec/netdata/netdata-updater.sh
# Désinstaller
sudo /usr/libexec/netdata/netdata-uninstaller.shNetdata installé !
Vous avez maintenant une vue complète et en temps réel de votre serveur. Les graphiques se mettent à jour chaque seconde !