8.9.3. Configuration d'un serveur Netdata

8.9.3.1. Introduction

Cette procédure décrit l'installation 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

La configuration est composée de :


8.9.3.2. Prérequis

  • Utilisateur : membre du groupe Administrator


8.9.3.3. Opérations préliminaires


8.9.3.4. Procédure d'installation via docker

  • Saisir la commande suivante pour installer le docker Netdata.

docker pull netdata/netdata:v1.19.0
  • Saisir la commande suivante 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
  • Saisir la commande suivante pour 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.3.5. Procédure de configuration du stream.conf et du GCenter

  • Saisir la commande suivante pour générer l'uuid

    sudo docker exec -it netdata uuidgen
    
  • Saisir les commandes suivantes pour 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
  • Saisir les commandes suivantes pour configurer netdata.conf

sudo docker exec -it netdata /etc/netdata/edit-config netdata.conf
[global]
      ...
      hostname = netdata-docker.gatewatcher.com
      ...
      timezone = Europe/Paris
  • Saisir les commandes suivantes pour configurer l'export Netdata dans le GCenter.

Note

A lire les paramètres de configuration de Netdata dans la partie Netdata visible dans l'Ecran `Admin-GCenter-Configuration` de la legacy web UI.
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

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

  • Saisir les commandes suivantes pour créer les alertes dans le dossier du conteneur :

/usr/lib/netdata/conf.d/health.d

Note

Afin que les nouvelles alertes soient prises en compte, il est nécessaire de redémarrer le conteneur docker.

  • Saisir les commandes suivantes pour créer vos propres alertes
    Pour clarifier la gestion des 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

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 du GCenter.

    https:// IP ou FQDN du GCenter /gstats
    

    Exemple du monitoring RAM

    ../../_images/netdata_RAM.png
    Le nom du Graphe est system.ram et la courbe à surveiller est used.
    L'alerte dans le fichier ram.conf sera rédigée comme suit :
    • L'alarme est nommée comme suit :

    1>>  alarm: ram_usage
    
    • Le graphique est nommé comme suit :

    2>> on: system.ram
    
    • La moyenne sur 10 min de la courbe used est calculée comme suit :

    3>> lookup: average -10m percentage of used
    
    • L'unité est spécifiée comme suit :

    4>> units: %
    
    • L'intervalle de temps entre chaque calcul est spécifié comme suit :

    5>> every: 1m
    
    • Les seuils alerte et critique sont spécifiés comme suit :

    6>> warn: $this > 70
    7>> crit: $this > 90
    
    • Le délai pour faire disparaître l'alarme après déclenchement est spécifié comme suit :

    8>> delay: down 15m multiplier 1.5 max 1h
    
    • La description de l'alarme est spécifiée comme suit :

    9>> info: average RAM utilization over the last 10 minutes
    
    • La définition qui sera alertée (voir health_alarm_notify.conf) est définie comme suit :

    10>> to: sysadmin