Netdata Performance Monitoring Tool

Netdata est un outil gratuit open source de surveillance en temps réel des performances pour les systèmes d’exploitation basés sur Linux. Netdata est livré avec des tableaux de bord Web simples, faciles à utiliser et extensibles qui peuvent être utilisés pour visualiser les processus et les services sur votre système. Vous pouvez surveiller le CPU, l’utilisation de la RAM, les entrées/sorties de disque, le trafic réseau et Postfix à l’aide de Netdata. Netdata fonctionne sur tous les systèmes comme les machines physiques, machines virtuelles, conteneurs et périphériques IoT sans perturber leur fonctionnement de base.

Netdata ,aperçu des fonctionnalités

  • Tableaux de bord interactifs bootstrap.
  • Prend en charge les seuils dynamiques, les modèles d’alarme, l’hystérésis et les méthodes de notification.
  • Vous pouvez créer facilement des tableaux de bord personnalisés en HTML.
  • Recueille des milliers d’information sur le serveur par seconde, avec seulement 1% d’utilisation CPU d’un seul cœur.
  • Il surveille en particulier, le CPU, la mémoire, les disques, les disques, les Iptables, les processus, les interfaces réseau, les serveurs NFS, les serveurs Apache, les bases de données Redis, les bases de données Postgres, les bases de données MySQL, les serveurs de messagerie Tomcat, Postfix et Exim, les périphériques SNMP, les serveurs proxy Squid et bien d’autres.

Installer Netdata à partir de la source

Avant d’installer Netdata, nous devons installer quelques paquets nécessaires.

sudo apt install -y zlib1g-dev uuid-dev libmnl-dev gcc make git autoconf autoconf-archive autogen automake pkg-config curl net-tools

Une fois tous les paquets installés, téléchargez le code source de Netdata depuis github à l’aide de la commande git.

git clone https://github.com/firehol/netdata.git --depth=1

Allez dans le répertoire’netdata’et lancez le script d’installation’netdata-installer.sh’avec les privilèges sudo.

cd netdata/
sudo ./netdata-installer.sh

  ^
  |.-.   .-.   .-.   .-.   .  netdata                                        
  |   '-'   '-'   '-'   '-'   real-time performance monitoring, done right!  
  +----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+--->


  You are about to build and install netdata to your system.

  It will be installed at these locations:

   - the daemon     at /usr/sbin/netdata
   - config files   in /etc/netdata
   - web files      in /usr/share/netdata
   - plugins        in /usr/libexec/netdata
   - cache files    in /var/cache/netdata
   - db files       in /var/lib/netdata
   - log files      in /var/log/netdata
   - pid file       at /var/run/netdata.pid
   - logrotate file at /etc/logrotate.d/netdata

  This installer allows you to change the installation path.
  Press Control-C and run the same command with --help for help.

Press ENTER to build and install netdata to your system >

Appuyez sur Entrée pour poursuivre l’installation de Netdata.

Une fois l’installation terminée, vous obtiendrez le résultat suivant (la compilation peut nécessiter une durée plus ou moins longue suivant le processeur et la mémoire)

netdata-updater.sh can work from cron. It will trigger an email from cron
only if it fails (it does not print anything when it can update netdata).
Run this to automatically check and install netdata updates once per day:

sudo ln -s /home/oli/netdata/netdata-updater.sh /etc/cron.daily/netdata-updater

 --- We are done! ---

  ^
  |.-.   .-.   .-.   .-.   .-.   .  netdata                          .-.   .-
  |   '-'   '-'   '-'   '-'   '-'   is installed and running now!  -'   '-'  
  +----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+--->

  enjoy real-time performance and health monitoring...

Netdata monitoring tool fournit un script de service pour le système systemd. Démarrer netdata et activer le pour une exécution automatique au démarrage

sudo systemctl start netdata
sudo systemctl enable netdata

Par défaut, il s’exécute sur le port 19999, vérifiez le port avec netstat et assurez-vous que vous avez le port 19999 à l’état’LISTEN’.

netstat -plntu
tcp        0      0 0.0.0.0:19999           0.0.0.0:*               LISTEN      10432/netdata       

Nginx module “stub_status”

Pour surveiller le serveur web de Nginx à l’aide de l’outil de surveillance Netdata, nous avons besoin d’une configuration supplémentaire. En premier lieu, vérifier la présence du module –with-http_stub_status_module de nginx dans la configuration de l’hôte virtuel.

nginx -V

Modifier la configuration par défaut /etc/nginx/conf.d/default.conf et ajouter avant le } de fin

    location /stub_status {
        stub_status;
        # Security: Only allow access from the IP below.
        allow 127.0.0.1;
        # Deny anyone else
        deny all;
    }

Vérifier la configuration de nginx et redémarrer le service

nginx -t
systemctl restart nginx

Le module ‘stub_status’de Nginx a été activé, vérifier avec la commande curl

curl http://127.0.0.1/stub_status
Active connections: 1
server accepts handled requests
 1 1 1
Reading: 0 Writing: 1 Waiting: 0

Configurer Netdata pour surveiller Nginx

Netdata fournit des modules Python pour la surveillance de nos applications installées sur le système, y compris les serveurs web Nginx. Pour surveiller Nginx à l’aide de Netdata, nous avons besoin du module’stub_status’de Nginx qui est activé.

Se rendre dans le répertoire de configuration de netdata et éditer le fichier python.d/nginx.conf

cd /etc/netdata/
nano python.d/nginx.conf

Vérifier ou modifier la configuration

localhost:
  name : 'local'
  url  : 'http://localhost/stub_status'

localipv4:
  name : 'local'
  url  : 'http://127.0.0.1/stub_status'

localipv6:
  name : 'local'
  url  : 'http://[::1]/stub_status'

Redémarrez maintenant Netdata en utilisant systemctl.

systemctl restart netdata

La configuration de Netdata pour la surveillance de Nginx est terminée.

Vérifier le fonctionnement de Netdata

Adresse http://localhost:19999/

Liens