Qu'est-ce que Netdata ?

Netdata est un outil de monitoring en temps réel qui permet de surveiller les performances de vos systèmes, applications et services. Il offre une interface web intuitive et des métriques détaillées.

Prérequis

  • Docker et Docker Compose installés sur votre système
  • Accès root ou permissions sudo

Installation

1. Créer le fichier docker-compose.yml

Créez un fichier docker-compose.yml avec la configuration suivante :

services:
  netdata:
    image: netdata/netdata:stable
    container_name: netdata
    hostname: netdata-host
    ports:
      - 19999:19999
    cap_add:
      - SYS_PTRACE
    security_opt:
      - apparmor:unconfined
    volumes:
      - ./config/go.d:/etc/netdata/go.d:ro
      - ./lib:/var/lib/netdata
      - ./cache:/var/cache/netdata
      - /etc/passwd:/host/etc/passwd:ro
      - /etc/group:/host/etc/group:ro
      - /proc:/host/proc:ro
      - /sys:/host/sys:ro
      - /etc/os-release:/host/etc/os-release:ro
    restart: unless-stopped

2. Créer les dossiers nécessaires

mkdir -p config/go.d lib cache

3. Démarrer le conteneur

docker-compose up -d

Configuration

Accès à l'interface web

Une fois le conteneur démarré, vous pouvez accéder à l'interface web de Netdata à l'adresse :

http://votre-serveur:19999

Volumes montés

  • ./config/go.d:/etc/netdata/go.d:ro : Configuration des collecteurs Go
  • ./lib:/var/lib/netdata : Données persistantes
  • ./cache:/var/cache/netdata : Cache de Netdata
  • /etc/passwd:/host/etc/passwd:ro : Informations utilisateurs du host
  • /etc/group:/host/etc/group:ro : Informations groupes du host
  • /proc:/host/proc:ro : Informations système du host
  • /sys:/host/sys:ro : Informations système du host
  • /etc/os-release:/host/etc/os-release:ro : Informations OS du host

Fonctionnalités

  • Monitoring en temps réel : Métriques mises à jour toutes les secondes
  • Interface web responsive : Accessible depuis n'importe quel appareil
  • Collecteurs automatiques : Détection automatique des services
  • Alertes configurables : Notifications personnalisables
  • API REST : Intégration avec d'autres outils

Commandes utiles

Vérifier le statut du conteneur

docker-compose ps

Voir les logs

docker-compose logs -f netdata

Arrêter le service

docker-compose down

Redémarrer le service

docker-compose restart netdata

Sécurité

  • Le conteneur utilise des volumes en lecture seule pour les fichiers système sensibles
  • Les permissions sont limitées avec apparmor:unconfined
  • Seul le port 19999 est exposé

Dépannage

Problème de permissions

Si vous rencontrez des problèmes de permissions, vérifiez que les dossiers config, lib et cache ont les bonnes permissions.

Port déjà utilisé

Si le port 19999 est déjà utilisé, modifiez la ligne ports dans le docker-compose.yml :

ports:
  - 19998:19999  # Utilise le port 19998 sur le host

Conclusion

Netdata est un excellent outil pour le monitoring de vos systèmes. Avec Docker Compose, l'installation et la maintenance sont simplifiées. L'interface web intuitive vous permettra de surveiller efficacement vos performances système.