Netdata – Une solution monitoring légère pour votre serveur Linux

netdata monitoring dashboard

Vous souhaitez pouvoir monitorer votre serveur, mais sans avoir à déployer une suite complète comme librenms ? Alors Netdata est fait pour vous !

C’est une solution de monitoring très légère qui affiche via un dashboard l’ensemble des informations sur l’usage des ressources de votre serveur. On y retrouve l’usage CPU, RAM, des disques avec chaque partitions mais également le détail des applications comme memcached, postfix ou redis.
Cependant, à la différence des autres solutions, Netdata ne liste absolument aucune information pouvant présenter un risque sur le plan sécurité. L’avantage est qu’il n’est pas nécessaire de limiter l’accès à la dashboard et cette dernière dispose de son propre web server qui ne démarre que lorsque vous consulter la page.

Comment installer netdata ?

Vous pouvez utiliser mon script pour installer netdata :

# Debian / Ubuntu
bash <(wget --no-check-certificate -O - https://git.virtubox.net/virtubox/Netdata/raw/master/deb-install.sh)
# Centos / Redhat
bash <(wget --no-check-certificate -O - https://git.virtubox.net/virtubox/Netdata/raw/master/centos-install.sh)

Si vous choisissez l’installation manuelle, il faut d’abord installer les packages suivant :

# Debian / Ubuntu
apt-get install zlib1g-dev uuid-dev libmnl-dev gcc make git autoconf autogen automake pkg-config curl jq nodejs
# Centos / Fedora / Redhat
yum install zlib-devel libuuid-devel libmnl-devel gcc make git autoconf autogen automake pkgconfig curl jq nodejs

Puis il vous suffit alors de cloner le dépôt github, puis d’exécuter netdata-installer.sh :

# download it - the directory 'netdata' will be created

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

# build it, install it, start it
./netdata-installer.sh

Vous pourrez alors accéder à netdata via l’adresse http://IP-DE-VOTRE-SRV:19999
Enfin pour ce qui est des mise à jour de netdata, vous pouvez ajouter un cron pour exécuter régulièrement le fichier netdata-updater.sh.

Netdata derrière un reverse-proxy

Si vous souhaitez accéder au panel netdata directement via votre domaine et/ou y accéder via https, il vous faudra mettre en place un reverse-proxy.

Ayant une préférence pour nginx, voici le fichier de configuration à créer pour utiliser netdata pour un domaine :

upstream backend {
    # the netdata server
    server 127.0.0.1:19999;
    keepalive 64;
}

server {
    # the virtual host name of this
    server_name netdata.example.com;

    location / {
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-Server $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://backend;
        proxy_http_version 1.1;
        proxy_pass_request_headers on;
        proxy_set_header Connection "keep-alive";
        proxy_store off;
    }
}

Et la configuration si vous préférez accéder à netdata via un sous-dossier :

upstream netdata {
    server 127.0.0.1:19999;
    keepalive 64;
}

server {
   
   # the virtual host name of this subfolder should be exposed
   #server_name netdata.example.com;

   location /netdata {
        return 301 /netdata/;
   }

   location ~ /netdata/(?.*) {
        proxy_redirect off;
        proxy_set_header Host $host;

        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-Server $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_http_version 1.1;
        proxy_pass_request_headers on;
        proxy_set_header Connection "keep-alive";
        proxy_store off;
        proxy_pass http://netdata/$ndpath$is_args$args;

        gzip on;
        gzip_proxied any;
        gzip_types *;
    }
}

Utiliser les badges

Une des raisons pour lesquelles vous allez probablement utiliser un reverse-proxy est la possibilité d’afficher en temps réel des badges avec les informations de votre serveur.
Example avec quelques statistiques de mon instance mastodon.top :


Dont le code est :

 <img src="https://instance.mastodon.top/api/v1/badge.svg?chart=system.cpu&alarm=10min_cpu_usage&refresh=auto"/>
><img src="https://instance.mastodon.top/api/v1/badge.svg?chart=system.ram&alarm=ram_in_use&refresh=auto" />
><img src="https://instance.mastodon.top/api/v1/badge.svg?chart=disk_util.sda&alarm=10min_disk_utilization&refresh=auto" /> 

Vous pouvez trouver plus d’informations à propos de netdata dans la documentation officielle.

Edit du 07/05/2017 :

J’ai commencé la réalisation d’une dashboard custom basée sur un template bootstrap 4, que vous pouvez voir sur la page de demo et dont le code est disponible sur github.

Poster un Commentaire

2 Commentaires sur "Netdata – Une solution monitoring légère pour votre serveur Linux"

Me notifier des
avatar
Trier par:   plus récents | plus anciens | plus de votes
xhark
Invité

L’interface a l’air sympa, ça donne envie d’essayer 🙂

trackback

[…] Netdata – Une solution monitoring légère pour votre serveur Linux – Jesuisadmin […]

wpDiscuz