Collectd
Collectd jppCOLLECTD est un logiciel qui permet de réaliser la collecte en continu d'informations sur le fonctionnement de vos machines.
Sous Debian l'installation est, comme d'habitude, très simple :
apt-get install collectd
L'ensemble se met immédiatement en route et commence son boulot de collecte.
Voyons voir maintenant comment on accède aux données, il existe un accès WEB (au moins dans le paquet Debian) présentant le graphes RRD pour lesquels COLLECTD enregistre les données. Il suffit de disposer d'un serveur WEB sur la machine et, pour Apache de créer le fichier "collectd.conf" dans le répertoire /etc/apache2/conf.d et d'y inclure :
<IfModule mod_cgi.c> ScriptAlias /collectd /var/www/collectd/collection.cgi <Directory "/var/www/collectd"> Options Indexes +FollowSymLinks +ExecCGI Order allow,deny Allow from 192.168.2 </Directory> </IfModule> |
Il vous manquera probablement le module Perl "RRDs.pm" qu'il vous faudra installer, oui mais dans quel paquet est ce fichu module :
grep RRDs.pm Contents-amd64
usr/lib/perl5/RRDs.pm perl/librrds-perl
usr/share/perl5/Log/Log4perl/Appender/RRDs.pm perl/liblog-log4perl
Il faut donc installer le paquet librrds.perl :
apt-get install librrds-perl
remettra tout en ordre.
Il faudra ensuite créer un répertoire "collectd" dans "/var/www" et copier dans ce répertoire le script "collection.cgi" que vous trouverez dans "/usr/share/doc/collectd-core/examples".
Un petit coup de "service apache2 restart" et c'est OK la page Web est accessible.
La liste de plugins installés par défaut est déjà impressionnante :
- cpu, tous les indicateurs souhaitée
- df, mesure de l'espace disque
- disk, IO/s, octets/s
- entropy
- interface, erreurs et débit réseau
- irq
- load, les fameux chiffres sur 1, 5 et 15 minutes
- memory, utilisation de la mémoire par cache, buffers, programmes
- processes, en nombre
- users, là aussi en nombre
D'autres plugins sont disponibles pour suivre énormément de logiciels, mais comme ils nécessitent une certaine dose de paramétrage ils ne sont pas installés en standard.
COLLECTD : plugin DNS
COLLECTD : plugin DNS jppComme example d'installation, ou plutôt d'activation de l'un des plugins fournis voici la procédure de mise en route du plugin DNS.
Ce plugin permet, comme son nom l'indique, de suivre l'activité d'un serveur DNS en nombre de requêtes et en nombre d'octets.
Les fichiers de configuration se trouvent dans /etc, c'est la norme, répartis dans un fichier principal : "collectd.conf" et quelques fichiers "annexes" appelés par "Include" depuis le fichier principal.
On peut aussi activer un répertoire de fichiers complémentaires. Le fichier "collection.conf" a un autre rôle.
Un petit extrait du fichier "collectd.conf" :
#LoadPlugin curl_json #LoadPlugin curl_xml #LoadPlugin dbi LoadPlugin df LoadPlugin disk #LoadPlugin dns #LoadPlugin email LoadPlugin entropy #LoadPlugin exec #LoadPlugin filecount |
Il suffit de dé-commenter la ligne, ici "LoadPlugin dns" pour activer le plugin. Il faut aussi aller voir un peu plus loin dans le fichier le paramétrage de ce module :
#<Plugin dns> # Interface "eth0" # IgnoreSource "192.168.0.1" # SelectNumericQueryTypes false #</Plugin> |
Là aussi il suffit d'enlever quelques "#" pour activer le paramétrage, et, en plus c'est directement adapté à mon petit réseau, le résultat :
COLLECTD : quelques graphiques
COLLECTD : quelques graphiques jppJe vous présente ici quelques graphiques journaliers issus de COLLECTD, pour les graphes mensuels attendre un peu.
Le CPU 0 :
La mémoire au même moment :
Le trafic réseau sur l'interface vers Internet :
Le trafic DNS en octets :
On voit bien ici l'activité le soir sur Internet.
Et pour finir l'activité d'un disque en octets :
COLLECTD : centralisation des données
COLLECTD : centralisation des données jppSi vous surveillez plusieurs machines il est tentant de "centraliser" les données et l'interface web sur une seule machine.
Oui, Collectd le permet, il suffit d'activer et de paramétrer le plugin "network" sur la machine centralisatrice et sur les "clients".
Sur le "serveur" :
- Activer le plugin "network"
- Paramétrer le plugin "network" et remplir "correctement" le paramètre "Hostname"
Plugin network> # server setup: Listen "192.168.2.2" "25826" ReportStats True SecurityLevel None MaxPacketSize 1512 </Plugin |
- Rédémarrer Collectd
Sur les clients :
- Activer le plugin "network"
- Remplir "correctement" le paramètre "Hostname"
<Plugin network> # # client setup: Server "192.168.2.2" "25826" SecurityLevel None TimeToLive 128 </Plugin> |
Après redémarrage du service sur les postes clients tout doit être OK et de nouveaux répertoires apparaissent dans /var/lib/collectd/rrd.
Il existe des possibilités d'encodage et de sécurité au niveau de cette liaison, ici on s'est contenté de "SecurityLevel None".
Au niveau de l'interface WEB, j'ai installé "collectd-web" plus joli et fonctionnel que le script CGI fourni d'origine, toutes les machines apparaissent directement.
Ci dessous le paramétrage de collectd-web pour un serveur Apache :
<Directory /var/www/collectd-web> <Directory /var/www/collectd-web/cgi-bin> |
COLLECTD : interface web
COLLECTD : interface web jppL'interface "collectd-web" permet une consultation aisée des données enregistrées sur votre serveur centralisé. Des gadgets permettent de régler la période de temps affichée, de la décaler dans le temps pour examiner plus précisément une période passée.
Cet interface est simple à installer et assez agréable à utiliser.
Ci dessous un exemple d'affichage :