Credit : Illustration backtotheweb.fr
Monitorer son serveur avec Netdata
Pourquoi Netdata ?
Netdata est un outil de monitoring open source qui collecte des milliers de metriques en temps reel avec une granularite a la seconde. Contrairement a Prometheus + Grafana, il s'installe en une commande et fournit un dashboard complet immediatement.
Ideal pour surveiller un serveur IONOS sans infrastructure complexe.
Installation en une commande
curl https://get.netdata.cloud/kickstart.sh > /tmp/netdata-kickstart.sh
sh /tmp/netdata-kickstart.sh --stable-channel
Netdata demarre automatiquement sur le port 19999 :
sudo systemctl status netdata
sudo ss -tlnp | grep 19999
Securiser l'acces au dashboard
Par defaut, le dashboard est accessible a tous. Limitez l'acces via Nginx en reverse proxy :
server {
listen 443 ssl;
server_name monitoring.monsite.fr;
ssl_certificate /etc/letsencrypt/live/monitoring.monsite.fr/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/monitoring.monsite.fr/privkey.pem;
auth_basic "Monitoring";
auth_basic_user_file /etc/nginx/.htpasswd;
location / {
proxy_pass http://127.0.0.1:19999;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
Creez le fichier d'authentification :
sudo apt install apache2-utils
sudo htpasswd -c /etc/nginx/.htpasswd admin
Puis bloquez l'acces direct au port 19999 :
sudo ufw deny 19999
sudo systemctl reload nginx
Comprendre le dashboard
Le dashboard Netdata affiche en temps reel :
- System Overview : charge CPU, RAM utilisee, swap, processus
- Disks : IOPS, debit lecture/ecriture, utilisation par partition
- Network : bande passante entrante/sortante par interface
- Applications : ressources consommees par chaque processus (Nginx, MySQL, PHP-FPM)
- Web Server : requetes par seconde, temps de reponse, codes HTTP
Chaque graphique est interactif et permet de zoomer sur une periode precise.
Configurer les alertes
Netdata inclut des centaines d'alertes preconfigurables. Modifiez-les dans /etc/netdata/health.d/ :
sudo /etc/netdata/edit-config health.d/cpu.conf
Exemple d'alerte personnalisee pour l'utilisation disque :
alarm: disk_space_usage
on: disk.space
lookup: max -1m unaligned of avail
units: GiB
every: 1m
warn: $this < 10
crit: $this < 5
info: Espace disque disponible
to: sysadmin
Notifications par email et Slack
Configurez les notifications :
sudo /etc/netdata/edit-config health_alarm_notify.conf
Pour les notifications email :
SEND_EMAIL="YES"
DEFAULT_RECIPIENT_EMAIL="admin@monsite.fr"
Pour Slack :
SEND_SLACK="YES"
SLACK_WEBHOOK_URL="https://hooks.slack.com/services/T00/B00/XXXX"
DEFAULT_RECIPIENT_SLACK="#monitoring"
Testez l'envoi :
sudo /usr/libexec/netdata/plugins.d/alarm-notify.sh test
Monitorer MySQL et Nginx
Netdata detecte automatiquement la plupart des services. Pour MySQL, creez un utilisateur dedie :
CREATE USER 'netdata'@'localhost';
GRANT USAGE ON *.* TO 'netdata'@'localhost';
FLUSH PRIVILEGES;
Pour Nginx, activez le stub_status :
server {
listen 127.0.0.1:80;
location /nginx_status {
stub_status;
allow 127.0.0.1;
deny all;
}
}
Redemarrez Netdata pour qu'il detecte les nouveaux modules :
sudo systemctl restart netdata
Retention des donnees
Par defaut, Netdata conserve environ 2 heures de donnees en RAM. Pour augmenter la retention, editez /etc/netdata/netdata.conf :
[db]
mode = dbengine
storage tiers = 3
dbengine multihost disk space MB = 2048
Avec 2 Go de stockage, vous conserverez plusieurs semaines de metriques detaillees.
Netdata est l'outil ideal pour avoir une visibilite complete sur votre serveur IONOS sans complexite. Le dashboard est consultable depuis n'importe quel navigateur, et les alertes vous previennent avant qu'un probleme ne devienne critique.