Skip to content
Learni
Voir tous les tutoriels
DevOps

Comment installer et configurer Netdata en 2026

Read in English

Introduction

Netdata est un outil de monitoring open-source révolutionnaire qui collecte et visualise des milliers de métriques système en temps réel, sans aucune configuration complexe. Contrairement à des solutions comme Prometheus ou Grafana qui nécessitent des setups lourds, Netdata s'installe en quelques minutes et offre une interface web interactive avec des graphiques fluides à 1 seconde d'intervalle.

Pourquoi l'utiliser en 2026 ? Les serveurs cloud et conteneurs explosent en complexité, et Netdata excelle pour détecter les bottlenecks (CPU surchauffe, disque saturé, connexions réseau lentes) avant qu'ils ne crashent vos apps. Il est ultra-léger (moins de 2% CPU), agentless pour les exports, et supporte les alertes proactives via email/Slack. Ce tutoriel beginner vous guide de l'installation à la config avancée, avec des exemples concrets pour monitorer un serveur Linux typique. À la fin, vous aurez un dashboard professionnel prêt à bookmarker. (132 mots)

Prérequis

  • Un serveur Linux (Ubuntu 22.04+ ou Debian 12+ recommandé)
  • Accès root ou sudo
  • Connexion internet pour l'installation
  • Minimum 1 Go RAM (Netdata est lightweight)
  • Navigateur web pour l'interface (Chrome/Firefox)

Installation rapide via kickstart

install-netdata.sh
#!/bin/bash
# Installation automatique Netdata (stable)
bash <(curl -Ss https://get.netdata.cloud/kickstart.sh) --stable

# Ou pour la version nightly (derniers features)
# bash <(curl -Ss https://get.netdata.cloud/kickstart.sh) --nightly

# Activer et démarrer le service systemd
systemctl enable netdata
systemctl start netdata

# Vérifier le statut
systemctl status netdata

Ce script one-liner télécharge et compile Netdata avec tous les collecteurs activés (CPU, RAM, disque, Docker, etc.). Il installe systemd pour un démarrage auto. Évitez les paquets APT pour la version la plus récente ; relancez systemctl restart netdata après pour appliquer.

Vérification de l'installation

Une fois installé, Netdata écoute par défaut sur le port 19999. Ouvrez http://votre-ip:19999 dans votre navigateur. Vous verrez instantanément des graphiques animés : utilisation CPU par cœur, charge système, mémoire swap, I/O disque, et plus de 200 métriques.

Analogie : Imaginez un tableau de bord de voiture en temps réel – Netdata est votre cockpit pour le serveur, alertant sur les 'voyants rouges' comme un pic de latence réseau.

Configuration principale (netdata.conf)

/etc/netdata/netdata.conf
[global]
    bind to = 0.0.0.0
    port = 19999
    backlog = 10000
    uid = netdata
    gid = netdata

[web]
    allow connections from = localhost *
    allow gzip compression = yes
    page cache size = 1024

[health]
    enabled = yes
    default recipient = admin@exemple.com

[ml]
    enabled = yes

[dbmode]
    mode = dbengine
    update every = 1000
    history = 3600

Ce fichier centralise les params globaux : port web, bindings, alertes health et mode DB (dbengine pour persistance). Changez admin@exemple.com par votre email. Sauvegardez et redémarrez Netdata pour appliquer ; piège : oubliez les permissions chown netdata:netdata sur les confs.

Accès à l'interface web et navigation

Rafraîchissez http://localhost:19999. Explorez :

  • Overview : Synthèse globale (comme un EKG serveur).
  • CPU : Détail par thread/processus.
  • Disk : IOPS et throughput.

Utilisez le menu latéral pour zoomer (drag & drop) ou exporter CSV. Les Family charts regroupent logiquement (ex: tous les disques SSD).

Configuration des alertes santé

/etc/netdata/health.d/cpu.conf
local:
  cpu_user: |
    on: system.cpu.user
    lookup: average -1m unaligned
    units: %
    every: 1m
    warn: $this > 80
    crit: $this > 90
    delay: up 2m down 1m multiplier 1.5 max 3
    info: usage utilisateur CPU élevé
    to: sysadmin

system:
  load1: |
    on: system.load.load1
    lookup: average -1m unaligned
    units: load
    every: 1m
    warn: $this > (($processor_count / 2))
    crit: $this > $processor_count
    delay: down 2m multiplier 1.1 max 10
    info: charge système load1 élevée
    to: sysadmin

Ce template active des alertes sur CPU user >80% et load average. Les 'delay' évitent les faux positifs. Copiez dans le dossier health.d/, redémarrez Netdata. Testez en stressant le CPU avec stress --cpu 4. Piège : variables comme $processor_count sont auto-remplacées.

Personnalisation du dashboard

Astuce beginner : Cliquez 'Edit' sur un chart pour changer couleurs/métriques. Sauvegardez comme preset via l'icône disquette.

Pour multi-serveurs : Activez 'streaming' dans netdata.conf pour centraliser vers un parent node.

Export metrics vers Prometheus

/etc/netdata/stream.conf
[stream]
    enabled = yes
    destination = prometheus-exporter:19999
    api_key = random-key-12345
    default_history = 3600
    on_metric_not_supported = warn

[prometheus]
    enabled = yes

    path = /api/v1/export/prometheus

[exporting:prometheus_remote_write]
    enabled = no

Active l'export Prometheus natif sans agent externe. Accédez à /api/v1/export/prometheus pour scraper. Parfait pour intégrer avec Grafana. Redémarrez et vérifiez les logs journalctl -u netdata. Évitez d'activer tous les exports en prod pour limiter la charge.

Configuration conteneurs Docker

/etc/netdata/apps_groups.conf
[*]
    0 : NETDATA

[docker]
    1 : DOCKER

[containerd-shim]
    1 : CONTAINERS

[crio]
    1 : CONTAINERS

[kubelet]
    1 : KUBERNETES

[etcd]
    1 : KUBERNETES

Groupe les processus Docker/K8s pour des charts dédiés. Auto-détecté post-install ; cette conf raffine les labels. Utile pour monitorer pods CPU en cluster. Piège : redémarrez après édition pour re-grouper.

Bonnes pratiques

  • Sécurisez l'accès : Limitez bind to à votre IP et ajoutez basic auth via Nginx reverse proxy.
  • Persistance DB : Gardez history = 1d minimum ; montez /var/cache/netdata sur SSD.
  • Alertes : Testez toujours avec netdatacli test avant prod.
  • Updates : Automatisez via cron : bash <(curl -Ss https://get.netdata.cloud/kickstart.sh) --dont-wait --stable.
  • Scale : Pour >10 serveurs, utilisez un parent Netdata pour aggregation.

Erreurs courantes à éviter

  • Port bloqué : Vérifiez firewall ufw allow 19999 ou SELinux.
  • Permissions : Toujours chown -R netdata:netdata /etc/netdata /var/lib/netdata après edits.
  • Faux positifs alertes : Augmentez 'delay multiplier' pour noisy metrics comme réseau.
  • Mémoire leak : Sur vieux kernels, forcez dbmode = ram si dbengine bugge.

Pour aller plus loin

Maîtrisez Netdata avancé :


Partagez votre setup en commentaires !