Netdata — monitoring temps réel sans configuration complexe

12 mai 2026 — par admin_libra

Sur un serveur Linux, connaître l’état du système en permanence est une nécessité opérationnelle. Les solutions classiques — Prometheus, Grafana, Zabbix — sont puissantes mais exigent du temps de configuration, des dépendances multiples et une courbe d’apprentissage non négligeable. Netdata propose une autre approche : un agent unique, auto-configurant, qui démarre en quelques minutes et expose immédiatement des métriques par seconde sur une interface web claire et réactive.

Contrairement aux outils de scraping à intervalles de 15 ou 30 secondes, Netdata collecte ses données chaque seconde. Cela permet de détecter des pics transitoires de CPU, des bursts réseau ou des lenteurs d’I/O qui disparaissent avant le prochain cycle de collecte d’un système classique. La granularité temporelle est sa principale force.

Cet article couvre l’installation de Netdata sur Debian/Ubuntu, l’exploration du tableau de bord, la configuration des alertes personnalisées et l’intégration dans un écosystème de supervision existant. Aucune connaissance préalable de l’outil n’est requise.

Qu’est-ce que Netdata ?

Netdata est un agent de monitoring open source écrit en C, conçu pour fonctionner sur chaque nœud de l’infrastructure. Il auto-détecte les services actifs (Apache, Nginx, MySQL, Redis, Docker, etc.) et commence immédiatement à collecter leurs métriques sans aucune configuration manuelle. La liste des plugins embarqués couvre plus de 800 sources de données différentes.

Parmi ses caractéristiques techniques clés :

  • Résolution par seconde — latence inférieure à 2 secondes entre l’événement et l’affichage
  • Empreinte légère — jusqu’à 88 % de RAM en moins et 36 % de CPU en moins comparé à une stack Prometheus + Grafana
  • 400+ templates d’alertes prêts à l’emploi, activés par défaut
  • Détection d’anomalies ML intégrée, sans configuration supplémentaire
  • Mode parent/enfant pour la supervision centralisée multi-nœuds

Installation de l’agent Netdata

Méthode recommandée : le script kickstart.sh

Le projet fournit un script d’installation universel qui détecte automatiquement la distribution Linux et utilise le gestionnaire de paquets natif ou des binaires statiques en fallback :

# Installation via curl
curl https://get.netdata.cloud/kickstart.sh > /tmp/netdata-kickstart.sh
sh /tmp/netdata-kickstart.sh

# Ou en une seule ligne
bash <(curl -Ss https://get.netdata.cloud/kickstart.sh)

Pour un environnement de production, il est recommandé de vérifier l’intégrité du script avant exécution :

[ "$(curl -Ss https://get.netdata.cloud/kickstart.sh | md5sum | cut -d ' ' -f 1)" ] 
  && echo "Script valide" || echo "Intégrité compromise"

Pour une installation non interactive (scripts CI/CD, automatisation Ansible) :

sh /tmp/netdata-kickstart.sh --non-interactive --stable-channel --no-updates

Via le dépôt officiel (Debian/Ubuntu)

# Ajout du dépôt Netdata
wget -O /tmp/netdata-repo.deb https://repo.netdata.cloud/repos/repoconfig/debian/bookworm/netdata-repo_3-3+debian12_all.deb
dpkg -i /tmp/netdata-repo.deb
apt update && apt install netdata -y

Vérification du service

# Statut du service
systemctl status netdata

# Activation au démarrage
systemctl enable --now netdata

# Vérification du port d'écoute
ss -tlnp | grep 19999

Premier accès au tableau de bord

Dès l’installation terminée, le tableau de bord est accessible localement :

http://localhost:19999

Pour y accéder depuis une machine distante, il faut ouvrir temporairement le port ou créer un tunnel SSH :

# Tunnel SSH depuis le poste de travail
ssh -L 19999:localhost:19999 user@mon-serveur

# Accès dans le navigateur
http://localhost:19999

Le tableau de bord affiche en temps réel : utilisation CPU (par cœur), mémoire RAM et swap, I/O disque par partition, trafic réseau par interface, et tous les services auto-détectés. La navigation est fluide et la mise à jour se fait sans rechargement de page.

Configuration de base

Le fichier de configuration principal se trouve dans /etc/netdata/netdata.conf. Pour l’éditer via l’utilitaire officiel :

cd /etc/netdata
sudo ./edit-config netdata.conf

Les paramètres les plus utiles dans la section [global] :

[global]
    # Historique en RAM (secondes) — défaut : 3600
    history = 7200

    # Résolution de collecte (secondes) — défaut : 1
    update every = 1

    # Répertoire des logs
    error log = /var/log/netdata/error.log

Pour restreindre l’accès au tableau de bord à localhost uniquement (recommandé si vous utilisez un reverse proxy) :

[web]
    bind to = localhost

Exposition derrière un reverse proxy Nginx

location /netdata/ {
    proxy_pass http://127.0.0.1:19999/;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
}

Configuration des alertes personnalisées

Netdata inclut plus de 400 templates d’alertes actifs par défaut. Pour créer une règle personnalisée, il suffit d’ajouter un fichier dans /etc/netdata/health.d/ :

sudo ./edit-config health.d/custom.conf

Exemple d’alerte sur l’utilisation RAM :

alarm: ram_high_usage
    on: system.ram
    lookup: average -5m percentage of used
    units: %
    every: 1m
    warn: $this > 80
    crit: $this > 95
    info: Utilisation RAM critique — vérifier les processus consommateurs
    to: sysadmin

Exemple d’alerte sur la charge CPU :

alarm: cpu_overload
    on: system.cpu
    lookup: average -3m percentage
    units: %
    every: 30s
    warn: $this > 75
    crit: $this > 90
    delay: up 30s down 5m
    info: CPU surchargé pendant plus de 3 minutes

Le paramètre delay implémente une hystérésis qui évite les alertes répétitives : ici, l’alerte attend 30 secondes avant de se déclencher, mais reste active 5 minutes après la normalisation.

Rechargement des règles sans redémarrage du service :

sudo netdatacli reload-health

Configuration des notifications

Netdata supporte Slack, PagerDuty, email, Telegram, ntfy et de nombreux autres canaux. Configuration via :

sudo ./edit-config health_alarm_notify.conf

Pour activer les notifications email :

EMAIL_SENDER="[email protected]"
SEND_EMAIL="YES"
DEFAULT_RECIPIENT_EMAIL="[email protected]"

Supervision multi-nœuds en mode parent/enfant

Netdata peut fonctionner en mode agrégateur : un nœud parent reçoit les flux de métriques de plusieurs enfants et centralise l’affichage. Sur le nœud enfant :

[stream]
    enabled = yes
    destination = ip-du-parent:19999
    api key = VOTRE-UUID-ICI

Sur le nœud parent :

[VOTRE-UUID-ICI]
    enabled = yes
    allow from = *

Générer un UUID pour la clé d’API :

uuidgen

Intégration avec Prometheus et Grafana

Netdata expose nativement ses métriques au format Prometheus sur le chemin /api/v1/allmetrics?format=prometheus. Cela permet de l’intégrer dans une stack Prometheus existante et de créer des dashboards Grafana complémentaires pour la rétention longue durée :

# Dans prometheus.yml
scrape_configs:
  - job_name: 'netdata'
    metrics_path: '/api/v1/allmetrics'
    params:
      format: ['prometheus']
    static_configs:
      - targets: ['localhost:19999']

L’approche la plus pragmatique consiste à utiliser Netdata pour le débogage temps réel (pic CPU, fuite mémoire en cours) et Prometheus pour l’historique long terme et la corrélation multi-services.

À lire également

Références

Index complet

Tous les articles (35)

Date Article Tags
27/05/2026 LXD 6.x : orchestration de conteneurs Linux avec profils et clustering administration clustering conteneurs 27/05/2026 Keepalived — VIP flottante et load balancing sans matériel dédié debian failover haute-disponibilité 27/05/2026 Btrfs sur Linux — snapshots, sous-volumes et compression en pratique administration btrfs compression 21/05/2026 CVE-2026-42945 (NGINX Rift) : analyse et remédiation sur Debian/Ubuntu cve debian heap-overflow 21/05/2026 Tuning kernel Linux — paramètres sysctl essentiels pour la production debian kernel mémoire 21/05/2026 DRBD : réplication de blocs entre deux serveurs en temps réel cluster debian drbd 15/05/2026 CVE-2026-23918 — vulnérabilité Apache 2.4.66 : analyse et correctifs sur Debian/Ubuntu (hors Debian 11) apache cve debian 15/05/2026 CVE-2026-31431 (Copy Fail) — Analyse et remédiation sur Debian/Ubuntu algif_aead copy-fail cve 12/05/2026 Pacemaker et Corosync — cluster haute disponibilité Linux cluster corosync debian 12/05/2026 WireGuard : monter un VPN mesh entre plusieurs serveurs Linux chiffrement linux mesh 12/05/2026 Netdata — monitoring temps réel sans configuration complexe alertes dashboard linux 12/05/2026 nftables en pratique — remplacer iptables sur Debian/Ubuntu debian firewall iptables 12/05/2026 Podman : alternative rootless à Docker — installation et migration conteneurs docker kubernetes 02/05/2026 Prometheus et Grafana sur Debian — installation, configuration et dashboards pratiques alertmanager dashboard debian 02/05/2026 Ansible : automatiser la gestion de serveurs Linux avec des playbooks administration ansible automation 28/04/2026 ZFS sur Linux : snapshots, clones et RAID-Z en pratique administration compression filesystem 28/04/2026 eBPF sur Linux : observabilité et traçage kernel avec bpftrace et BCC bcc bpftrace diagnostic 23/04/2026 Analyse de la mémoire sur Linux — vmstat, free, smem diagnostic mémoire monitoring 23/04/2026 Sécurité Linux — Firewall iptables et nftables firewall iptables nftables 23/04/2026 ZFS sur Linux — Installation et gestion avancée administration filesystem stockage 23/04/2026 Gestion des services avec systemd sur Debian et Ubuntu administration debian services 23/04/2026 Gestion des ressources cgroups v1/v2 avec LXC cgroups conteneurs lxc 23/04/2026 Centralisation logs avec ELK Stack — Elasticsearch, Kibana, Filebeat elasticsearch elk filebeat 23/04/2026 Supervision avec Zabbix 7.0 LTS sur Debian/Ubuntu debian monitoring supervision 23/04/2026 Plusieurs versions PHP-FPM sur Apache Debian/Ubuntu apache debian php-fpm 23/04/2026 Sécurisation avancée PHP-FPM — Multi-VirtualHosts Apache/Nginx apache nginx php-fpm 23/04/2026 Optimisation PHP-FPM — Guide de tuning d'un pool optimisation performance php-fpm 29/07/2025 Docker sur Debian/Ubuntu : Installation, Configuration et Utilisation conteneurs debian docker 03/07/2025 Serveur VPN WireGuard sous linux réseau sécurité vpn 03/07/2025 Authentification par clé publique sur un serveur SSH authentification cryptographie sécurité 27/06/2025 Surveillance et diagnostic d’un serveur Linux avec vmstat, iotop et htop diagnostic htop monitoring 27/06/2025 Mémoire : Utilisation des Huge Pages et implémentation hugepages mémoire noyau 27/06/2025 Mémoire Swap et paramétrage swappiness mémoire noyau performance 18/06/2025 Installation et Configuration des Conteneurs LXC sur Linux administration conteneurs lxc 18/06/2025 Gestion des journaux avec syslog et journalctl administration journalctl logs