8.9.4. Utilisation d'un serveur Netdata

8.9.4.1. Introduction

Cette procédure guide donne à titre indicatif les étapes nécessaires à la mise en place d'un serveur de monitoring netdata, et son interconnexion à un GCenter afin d'en assurer la surveillance.

Note

La version Netdata compatible avec le GCenter et GCap est la 1.19


8.9.4.2. Prérequis

  • Utilisateur : membre du groupe Administrator


8.9.4.3. Procédure d'installation via docker

  • Installer le docker Netdata

docker pull netdata/netdata:v1.19.0
  • Pour pouvoir éditer la configuration de Netdata depuis la machine hôte, il faut lancer un container temporaire pour récupérer les fichiers de configuration.

    mkdir netdataconfig
    docker run -d --name netdata_tmp netdata/netdata
    docker cp netdata_tmp:/usr/lib/netdata netdataconfig/
    docker rm -f netdata_tmp
    
  • Lancer le container final

docker run -d --name=netdata \
 -p 19999:19999 \
 -v $(pwd)/netdataconfig/netdata:/usr/lib/netdata:rw \
 -v netdatalib:/var/lib/netdata \
 -v netdatacache:/var/cache/netdata \
 -v /etc/passwd:/host/etc/passwd:ro \
 -v /etc/group:/host/etc/group:ro \
 -v /proc:/host/proc:ro \
 -v /sys:/host/sys:ro \
 -v /etc/os-release:/host/etc/os-release:ro \
 --restart unless-stopped \
 --cap-add SYS_PTRACE \
 --security-opt apparmor=unconfined \
 netdata/netdata

8.9.4.4. Procédure de configuration du fichier stream.conf et GCenter

  • Générer l'uuid

sudo docker exec -it netdata uuidgen
  • Configurer stream avec l'uuid généré précédemment.

Netdata recommande d'utiliser edit-config

sudo docker exec -it netdata /etc/netdata/edit-config stream.conf
[dd236090-a42d-43e2-b0ba-ff8eaa6216a2] << Remplacer l'uuid ici
    enabled = yes
    default history = 36000
    default memory mode = ram
    health enabled by default = auto
    allow from = *
    default postpone alarms on connect seconds = 60

8.9.4.5. Procédure de configuration du fichier netdata.conf

sudo docker exec -it netdata /etc/netdata/edit-config netdata.conf
[global]
       ...
       hostname = netdata-docker.gatewatcher.com
       ...
       timezone = Europe/Paris

8.9.4.6. Procédure de configuration de l'export netdata dans le GCenter

  • Pour que netdata envoie des notifications, il faut configurer le fichier health_alarm_notify.conf.

sudo docker exec -it netdata /etc/netdata/edit-config health_alarm_notify.conf

Référence : Alarm Configuration


8.9.4.7. Procédure de création d'alertes pour Netdata

  • Créer des alertes dans le dossier du conteneur

/usr/lib/netdata/conf.d/health.d
  • Afin que les nouvelles alertes soient prisent en compte, il est nécessaire de redémarrer le conteneur docker.

  • Pour clarifier la gestion de vos alertes, il est conseillé de créer un fichier *.conf par catégorie d'alerte.
    Voici des exemples :

    Description

    Lien

    Alerte en cas d'absence/surcharge de trafic

    traffic.conf

    Alerte en cas de désactivation des services d'analyse du GCap

    suricata_status.conf

    Alerte si un redémarrage de Gcap/GCenter a eu lieu

    reboot.conf

    Alerte en cas de surcharge RAM

    ram.conf

    Alerte en cas de packets réseau "droppés" sur le Gcap

    drop.conf

    Alerte en cas de remplissage disque (ici la partition /data du Gcap)

    disk.conf

    Alerte en cas de surcharge CPU

    cpu.conf

  • Créer vos propres alertes
    La création des alertes se base sur les métriques que netdata collecte.
    • Pour connaître ces métriques, il faut se connecter à l'interface Netdata de votre GCenter.

    https:// IP ou FQDN du Gcenter /gstats
    

    Prenons l'exemple du monitoring RAM

    ../../_images/netdata_RAM.png

    Le nom du Graph est system.ram et la courbe à surveiller est used`

    • L'alerte dans le fichier ram.conf sera rédigée comme suit :
    • On nomme l'alarme
      1>>  alarm: ram_usage
      
    • On nomme le graphique dans Netdata :

    2>> on: system.ram
    
    • On indique que l'on calcule la moyenne sur 10 min de la courbe used`

    3>> lookup: average -10m percentage of used
    
    • On spécifie l'unité

    4>> units: %
    
    • On spécifie l'intervalle de temps entre chaque calcul

    5>> every: 1m
    
    • On définit les seuil alerte et critique

    6>> warn: $this > 70
    7>> crit: $this > 90
    
    • On définit le délai pour faire disparaître l'alarme après déclenchement

    8>> delay: down 15m multiplier 1.5 max 1h
    
    • Description de l'alarme

    9>> info: average RAM utilization over the last 10 minutes
    
    • Définir qui sera alerté (voir health_alarm_notify.conf)

    10>> to: sysadmin