Catégories
Developpement Open-source Planet-libre Reseau Systeme Web

VnStat.js, un node pour VnStat

Mes derniers billets traitaient de VnStat (le logiciel pour surveiller les débits de vos interfaces Ethernet) et de Node.js (le framework permettant de créer facilement des applications réseaux coté serveur). C’est donc dans ma logique toute cartésienne, que j’ai développé un javascript permettant de disposer d’une interface Web pour consulter ces statistiques de débits sans avoir à installer un serveur Web et son plugin PHP (comme c’est le cas avec le VnStat PHP frontend).

Ce script, disponible sous licence GPL v3, s’appelle VnStat.js est disponible dans mon GitHub à l’adresse suivante:


https://github.com/nicolargo/vnstat.js

Installation

Pour fonctionner correctement, VnStat.js nécessite:

  • une installation de VnStat fonctionnelle. Je vous conseille la lecture de ce billet pour effectuer une installation « from-scratch » sur une machine tournant sous Debian / Ubuntu.
  • que le framework Node.js soit installé sur cette même machine. Le script a été validé avec la dernière version stable de Node.js (0.4.12).

On commence par récupérer la dernière version de VnStat.js depuis le dépôt Git:

[cce lag= »bash »]

cd ~

git clone git://github.com/nicolargo/vnstat.js.git

cd vnstat.js

[/cce]

Pour les personnes utilisant NPM (le package manager de Node.js), vous pouvez l’utiliser pour installer VnStat.js. Suivre les instructions de cette page.

Lancement de VnStat.js

Pour lancer le noeud VnStat.js, il suffit de saisir les commandes suivantes:

[cce lag= »bash »]

cd ~/vnstat.js

node ./vnstat.js

[/cce]

Le « node » va se mettre en écoute sur le port TCP 1337 de votre serveur (il faut donc ajouter une règle pour autoriser les requêtes entrantes vers ce port si vous avez un firewall).

A l’ouverture de l’URL http://adressedevotremachine:1337/ dans un navigateur compatible HTML5, la page principale suivante va s’afficher:

Elle affiche le résumé des statistiques de VnStat ainsi que le top 10 des journées. Le menu du haut permet de naviguer vers des statistiques plus ciblés.

Par heures (avec à la fois la vue graphique et textuelle):

Et ainsi de suite pour les jours, semaines (à noter qu’il n’y a pas de graphe spécifique par semaine généré par vnstati) et enfin par mois.

Configuration de VnStat.js

Le design de VnStat.js peut bien entendu être adapté à vos besoins en éditant le fichier css/style.css (CSS3). Si vous avez besoin de changer le port TCP d’écoute du node, il y a une variable pour cela dans le fichier lib/server.js.

C’est mon premier développement avec le framework Node.js, il y a sûrement des améliorations à faire mais la structure reste assez didacticiel pour servir de base pour d’autre développement du même type.

Lancement automatique de VnStat.js au démarrage de votre machine

 Comme vous avez pu le remarquer, le node VnStat.js est lancé à la main dans ce billet. Si vous souhaitez mettre en production ce script et le lancer automatiquement au démarrage de votre machine, je vous conseille la lecture du billet de Vincent sur son blog qui regorge d’information sur ce superbe framework qu’est Node.js.

Catégories
Open-source Planet-libre Reseau

Installation de VNStat sous Debian

VNStat est un outil bien utile pour surveiller le débit des interfaces réseaux de ses machines. Il se présente sous la forme d’un processus tournant en tache de fond (les versions plus anciennes se basaient sur crontab) et surveillant les flux transitant sur vos interfaces.

Nous allons détailler l’installation et l’utilisation de cet outil sur un système GNU/Linux Debian Squeeze.

Installation de VnStat

Dans une console root (ou en utilisant sudo), il faut saisir les commande suivantes:

[cce lang= »bash »]

apt-get install vnstat vnstati

vnstat -u -i eth0 –nick « LAN0″

/etc/init.d/vnstat start

[/cce]

La configuration de VnStat est centralisé dans le fichier /etc/vnstat.conf. Par défaut, le rafraîchissement se fait toutes les 5 minutes et surveille l’interface eth0. Cette configuration est bien sûr à adapter à vos besoins.

Si vous saisissez la commande suivante dans les 5 minutes qui suivent l’installation, il est normal d’avoir le message d’erreur:

[cce lang= »bash »]

vnstat

eth0: Not enough data available yet.

[/cce]

Les premières statistiques sont disponibles 5 minutes après l’installation.

Utilisation de VnStat

Statistiques instantanées basées sur les 5 dernières secondes:

[cce lang= »bash »]

# vnstat -tr

[/cce]

Statistique de la dernière journée avec une granularité par heure:

[cce lang= »bash »]

# vnstat -h

[/cce]

Statistique sur la dernière journée:

[cce lang= »bash »]

# vnstat -d

[/cce]

Statistique sur la dernière semaine:

[cce lang= »bash »]

# vnstat -w

[/cce]

Statistique sur le dernier mois:

[cce lang= »bash »]

# vnstat -m

[/cce]

Utilisation de VnStati (pour générer des graphes)

VnStati est un logiciel qui perme, à partir de la base de données renseignée par VnStat, de générer des rapports au format images (PNG) que l’on peut facilement intégrer dans une page Web de supervision (à noter qu’il existe un script PHP permettant de générer automatiquement des rapports).

Pour créer une image au format PNG contenant le rapport des dernières heures, il suffit de saisir la commande suivante:

[cce lang= »bash »]

# vnstati -h -o h.png

[/cce]

Le fichier h.png contiendra:

Comme vous pouvez le voir, VnStati utilise les mêmes arguments que VnStat (un petit man vnstat vous sera utile pour avoir la liste exhaustive).

Catégories
Open-source Reseau

Compilation de VnStat sous Ubuntu/Debian

Hier, je vous ai parlé de VnStat, un outil pour surveiller le débit de vos interfaces réseaux. J’avais fait mes tests sous FreeBSD qui inclu la dernière version de VnStat (1.10) dans ses packages. Ce n’est pas encore le cas des systèmes Linux qui proposent la version 1.6. Hors cette version ne permet pas l’utilisation de l’utilitaire VnStati pour générer les images.

Voici donc dans ce billet une procédure très simple pour installer la version 1.10 de VnStat sur un système GNU/Linux (Ubuntu ou Debian) et donc disposer de VnStati…

Installation des pré-requis

Pour compiler correctement, Vnstat a besoin de quelques librairies:

sudo apt-get install libgd2-noxpm libgd2-noxpm-dev

Compilation et installation de VnStat

On commence par récupérer la dernière version disponible de VnStat

wget http://humdi.net/vnstat/vnstat-1.10.tar.gz

On décompresse et on compile:

tar zxvf vnstat-1.10.tar.gz
cd vnstat-1.10/
make all

Puis on installe sur notre système:

sudo make install

Et voili…