Installer Netdata sur Linux (Ubuntu, Debian, AlmaLinux)

Tutoriels Linux › Monitoring

Documentation / Tutoriels Linux / Monitoring / Installer Netdata sur Linux (Ubuntu, Debian, AlmaLinux)
Mis à jour le 08/10/2026
635 vues
Débutant
15 minutes

Prérequis

Votre serveur :

Netdata montre en direct ce que fait votre serveur : processeur, mémoire, disques, réseau, processus, et les services qu'il reconnaît (Nginx, MySQL, Docker...), avec des graphiques rafraîchis chaque seconde. Ce guide l'installe avec le script officiel, le démarre avec le serveur, et surtout le met à l'abri : tel qu'installé, son tableau de bord est ouvert à tout Internet sans mot de passe. Choisissez votre système ci-dessus.

1Mettre à jour le système et installer Netdata

Mettez le système à jour d'abord : une ou deux minutes.

Mettre à jour le système
apt update && apt upgrade -y
Résultat attendu
...
212 upgraded, 8 newly installed, 0 to remove and 4 not upgraded.
(les nombres dépendent de l'âge de l'image)
Mettre à jour le système
dnf upgrade -y
Résultat attendu
...
Complete!
Mettre à jour le système
dnf upgrade -y
Résultat attendu
...
Complete!
Mettre à jour le système, puis redémarrer
apk update && apk upgrade && reboot
Résultat attendu
...
OK: 158 MiB in 209 packages
(les nombres dépendent de l'image ; la connexion SSH se coupe au redémarrage)

Alpine redémarre après la mise à jour : quand elle remplace le noyau, les modules du noyau en cours disparaissent et le pare-feu de l'étape 3 ne peut plus se charger (« Couldn't determine iptables version »). Reconnectez-vous en SSH après une minute.

Mettre à jour le système
zypper -n refresh && zypper -n update
Résultat attendu
All repositories have been refreshed.
...

Sur Alpine, il n'existe pas de paquet : le script installe une version autonome sous /opt/netdata, et il faut d'abord curl.

Installer curl
apk add curl
Télécharger et lancer le script d'installation (une à trois minutes)
curl -fsSL https://get.netdata.cloud/kickstart.sh -o /tmp/netdata-kickstart.sh && sh /tmp/netdata-kickstart.sh --non-interactive --stable-channel --disable-telemetry
Résultat attendu
...
Successfully installed the Netdata Agent.

2Démarrer Netdata avec le serveur

L'installation n'a pas forcément démarré le service : la commande ci-dessous s'en assure, et le fait revenir à chaque redémarrage de la machine.

Activer et démarrer le service
systemctl enable --now netdata
Activer et démarrer le service
systemctl enable --now netdata
Activer et démarrer le service
systemctl enable --now netdata
Activer et démarrer le service
systemctl enable --now netdata
AlpineCréer le service OpenRC
cat > /etc/init.d/netdata << 'EOF'
#!/sbin/openrc-run
description="Netdata"
command="/opt/netdata/bin/netdata"
command_args="-D"
command_background=true
pidfile="/run/netdata.pid"

depend() {
    need net
}
EOF
chmod +x /etc/init.d/netdata
Arrêter l'instance lancée par le script, puis activer et démarrer le service
/opt/netdata/bin/netdatacli shutdown-agent; sleep 3; rc-update add netdata default && rc-service netdata start
Résultat attendu
 * service netdata added to runlevel default
 * Starting netdata ... [ ok ]
Vérifier que Netdata tourne
systemctl is-active netdata
Résultat attendu
active
Vérifier que Netdata tourne
systemctl is-active netdata
Résultat attendu
active
Vérifier que Netdata tourne
systemctl is-active netdata
Résultat attendu
active
Vérifier que Netdata tourne
systemctl is-active netdata
Résultat attendu
active
Vérifier que Netdata tourne
rc-service netdata status
Résultat attendu
 * status: started
Vérifier qu'il répond (sa version)
curl -s http://127.0.0.1:19999/api/v1/info | grep -o '"version":"[^"]*"'
Résultat attendu
"version":"v2.11.0"
(le numéro change avec les mises à jour)

3Le mettre à l'abri avant de l'ouvrir

Ouvert à tout Internet dès l'installation

Netdata écoute sur le port 19999 de toutes les adresses du serveur, sans mot de passe : http://IP:19999 répond depuis l'extérieur dès l'installation (sauf sur openSUSE, dont le pare-feu bloque le port). Choisissez une des deux protections ci-dessous avant de continuer.

Protection A, la plus simple et la plus sûre : Netdata n'écoute plus que sur le serveur lui-même, et vous l'affichez à travers votre connexion SSH. Rien n'est exposé.

Ubuntu / DebianA : n'écouter qu'en local
cat >> /etc/netdata/netdata.conf << 'EOF'

[web]
    bind to = 127.0.0.1
EOF
systemctl restart netdata
AlmaLinux / Rocky / CentOSA : n'écouter qu'en local
cat >> /etc/netdata/netdata.conf << 'EOF'

[web]
    bind to = 127.0.0.1
EOF
systemctl restart netdata
FedoraA : n'écouter qu'en local
cat >> /etc/netdata/netdata.conf << 'EOF'

[web]
    bind to = 127.0.0.1
EOF
systemctl restart netdata
openSUSEA : n'écouter qu'en local
cat >> /etc/netdata/netdata.conf << 'EOF'

[web]
    bind to = 127.0.0.1
EOF
systemctl restart netdata
AlpineA : n'écouter qu'en local
cat >> /opt/netdata/etc/netdata/netdata.conf << 'EOF'

[web]
    bind to = 127.0.0.1
EOF
rc-service netdata restart
A : vérifier que seul 127.0.0.1 écoute
ss -ltn | grep 19999
Résultat attendu
LISTEN 0      4096       127.0.0.1:19999      0.0.0.0:*
A : vérifier que seul 127.0.0.1 écoute
ss -ltn | grep 19999
Résultat attendu
LISTEN 0      4096       127.0.0.1:19999      0.0.0.0:*
A : vérifier que seul 127.0.0.1 écoute
ss -ltn | grep 19999
Résultat attendu
LISTEN 0      4096       127.0.0.1:19999      0.0.0.0:*
A : vérifier que seul 127.0.0.1 écoute
ss -ltn | grep 19999
Résultat attendu
LISTEN 0      4096       127.0.0.1:19999      0.0.0.0:*
A : vérifier que seul 127.0.0.1 écoute
netstat -ltn | grep 19999
Résultat attendu
tcp        0      0 127.0.0.1:19999         0.0.0.0:*               LISTEN
A : sur votre ordinateur, ouvrir un tunnel SSH (laissez la fenêtre ouverte)
ssh -L 19999:127.0.0.1:19999 root@203.0.113.42
Résultat attendu
La session SSH s'ouvre normalement ; tant qu'elle est ouverte, http://localhost:19999 sur votre ordinateur affiche le Netdata du serveur

Protection B : garder le port ouvert, mais seulement pour votre adresse IP (celle de votre connexion Internet, remplacez VOTRE_IP). Sur openSUSE, cette règle est de toute façon nécessaire, le pare-feu bloque le port par défaut.

B : n'autoriser que votre adresse IP (ufw)
apt install -y ufw && ufw allow 22/tcp && ufw allow from VOTRE_IP to any port 19999 proto tcp && ufw --force enable
Résultat attendu
...
Firewall is active and enabled on system startup
B : n'autoriser que votre adresse IP (firewalld)
dnf install -y firewalld && systemctl enable --now firewalld && firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="VOTRE_IP" port protocol="tcp" port="19999" accept' && firewall-cmd --reload
Résultat attendu
success
success
B : n'autoriser que votre adresse IP (firewalld)
dnf install -y firewalld && systemctl enable --now firewalld && firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="VOTRE_IP" port protocol="tcp" port="19999" accept' && firewall-cmd --reload
Résultat attendu
success
success
B : n'autoriser que votre adresse IP (ufw)
apk add ufw && ufw allow 22/tcp && ufw allow from VOTRE_IP to any port 19999 proto tcp && ufw --force enable && rc-update add ufw default
Résultat attendu
...
Firewall is active and enabled on system startup
 * service ufw added to runlevel default
B : n'autoriser que votre adresse IP (firewalld, déjà actif)
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="VOTRE_IP" port protocol="tcp" port="19999" accept' && firewall-cmd --reload
Résultat attendu
success
success

Avec la protection B, ouvrez http://203.0.113.42:19999 (l'adresse de votre serveur) dans votre navigateur.

4Ce que montre le tableau de bord

La page s'ouvre sur la vue d'ensemble du serveur ; le menu mène aux familles de graphiques :

system
Charge, processeur, mémoire, disque et réseau du serveur en un coup d'œil
cpu
L'usage de chaque cœur, et ce qui le consomme (utilisateur, système, attente disque)
mem
RAM utilisée, cache, swap
disk
Lectures et écritures, temps d'attente, espace libre par partition
net
Débit entrant et sortant par interface, paquets, erreurs
app
La consommation regroupée par application (serveur web, base de données, SSH...)
systemd
Chaque service systemd et ce qu'il consomme

5Les commandes du quotidien

Voir l'état du service
systemctl status netdata
Voir l'état du service
systemctl status netdata
Voir l'état du service
systemctl status netdata
Voir l'état du service
systemctl status netdata
Voir l'état du service
rc-service netdata status
Redémarrer Netdata (après un changement de configuration)
systemctl restart netdata
Redémarrer Netdata (après un changement de configuration)
systemctl restart netdata
Redémarrer Netdata (après un changement de configuration)
systemctl restart netdata
Redémarrer Netdata (après un changement de configuration)
systemctl restart netdata
Redémarrer Netdata (après un changement de configuration)
rc-service netdata restart
Suivre son journal (Ctrl+C pour sortir)
journalctl -u netdata -f
Suivre son journal (Ctrl+C pour sortir)
journalctl -u netdata -f
Suivre son journal (Ctrl+C pour sortir)
journalctl -u netdata -f
Suivre son journal (Ctrl+C pour sortir)
journalctl -u netdata -f
Suivre son journal (Ctrl+C pour sortir)
tail -f /opt/netdata/var/log/netdata/daemon.log
Connaître la version installée
netdatacli version
Résultat attendu
netdata v2.11.0
Connaître la version installée
netdatacli version
Résultat attendu
netdata v2.11.0
Connaître la version installée
netdatacli version
Résultat attendu
netdata v2.11.0
Connaître la version installée
netdatacli version
Résultat attendu
netdata v2.11.0
Connaître la version installée
/opt/netdata/bin/netdatacli version
Résultat attendu
netdata v2.11.0

Les mises à jour sont automatiques : l'installation a posé une tâche quotidienne (/etc/cron.daily/netdata-updater, ou /etc/periodic/daily/netdata-updater sur Alpine) qui suit le canal stable. Les fichiers de configuration sont dans /etc/netdata (sous /opt/netdata/etc/netdata sur Alpine) ; netdata.conf est celui que vous avez touché à l'étape 3.

Désinstaller
systemctl stop netdata && apt remove --purge -y netdata
Désinstaller
systemctl stop netdata && dnf remove -y netdata
Désinstaller
systemctl stop netdata && dnf remove -y netdata
Désinstaller
rc-service netdata stop; /opt/netdata/usr/libexec/netdata/netdata-uninstaller.sh --yes --force
Désinstaller
systemctl stop netdata && zypper -n remove netdata

6Plusieurs serveurs et alertes par courriel : Netdata Cloud (facultatif)

Pas de serveur de courriel par défaut : les alertes par courriel de Netdata (health_alarm_notify.conf) exigent sendmail, que ces systèmes ne livrent pas. La voie prévue par Netdata est son service en ligne, Netdata Cloud : un compte, un espace, et le bouton « Connect Nodes » vous donne une commande à coller sur le serveur (le même script d'installation, avec un jeton). Vous voyez alors tous vos serveurs sur une page et recevez les alertes par courriel. Un palier gratuit existe ; ses limites sont sur le site de Netdata, elles changent avec le temps.

Netdata en service

Votre serveur se surveille en direct, à l'abri des regards. Pour des graphiques sur la durée et des tableaux de bord personnalisés, voyez Installer Grafana et Prometheus ; pour le reste du pare-feu, Configurer le pare-feu.

Erreurs fréquentes

💬 Écrivez-nous sur Messenger !