5. Utilisation d'un serveur NETDATA
Ce 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
5.1. 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
Lancement du 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
5.2. Configuration
Configuration du stream.conf et gcenter
Générer l'uuid
sudo docker exec -it netdata uuidgen
Configuration 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
Configuration de netdata.conf
sudo docker exec -it netdata /etc/netdata/edit-config netdata.conf
[global]
...
hostname = netdata-docker.gatewatcher.com
...
timezone = Europe/Paris
Configurer l'export netdata dans le gcenter
Note
A lire Netdata export.
Pour que netdata envoi des notifications, il faut configurer health_alarm_notify.conf
sudo docker exec -it netdata /etc/netdata/edit-config health_alarm_notify.conf
Référence : Alarm Configuration
5.3. Création d'alertes pour Netdata
La création des alertes se fait 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 |
||
Alerte en cas de désactivation des services d'analyse du Gcap |
||
Alerte si un redémarrage de Gcap/Gcenter a eu lieu |
||
Alerte en cas de surcharge RAM |
||
Alerte en cas de packets réseau "droppés" sur le Gcap |
||
Alerte en cas de remplissage disque (ici la partition /data du Gcap) |
||
Alerte en cas de surcharge CPU |
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
L'alerte dans 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éfini les seuil alerte et critique
6>> warn: $this > 70
7>> crit: $this > 90
On défini le délais 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