<markdown> collectd
[collectd](collectd.org) est un merveilleux outil de collecte de données. Le démon utilise de nombreux [plugiciels](http://collectd.org/wiki/index.php/Table_of_Plugins) pour collecter les informations d'un [processeur](http://collectd.org/wiki/index.php/Plugin:CPU), [un multimètre sur port série](http://collectd.org/wiki/index.php/Plugin:Multimeter), d'un serveur [apache](http://collectd.org/wiki/index.php/Plugin:Apache), etc. Toutes ces données collectées sont écrites dans des fichiers [csv](http://collectd.org/wiki/index.php/Plugin:CSV), [rrd](http://collectd.org/wiki/index.php/Plugin:RRDtool), en [HTTP](http://collectd.org/wiki/index.php/Plugin:Write_HTTP), etc.
L'utilisation la plus courante consiste à collecter les données de la machine sur laquelle le démon est installé pour ensuite créer des graphes [rrdtool](http://oss.oetiker.ch/rrdtool/gallery/index.en.html).
Dans ces quelques lignes, je détaillerai l'utilisation de certains plugiciels, notamment ceux pour lesquels j'ai dû chercher un peu.
En liaison avec cet article, j'ai rédigé quelques notes sur [rrdtool](/doc/rrdtool).
## les plugiciels
[collectd](collectd.org) utilise des plugiciels pour collecter différents capteurs. J'en citerai uniquement quelques-un
### plugiciel iptables
Ce plugiciel collecte les données du [pare-feu intégré à Linux](http://www.netfilter.org/). Il aurait peut-être pu s'appeler netfilter.
collectd ne collectera par tout ce qui passe entre les mains de netfilter, il prend seulement en compte les paquets qui passent par une « correspondance » [commentaire](http://www.linux-france.org/prj/inetdoc/guides/iptables-tutorial/explicitmatches.html#commentmatch).
Par exemple, pour compter les paquets qui passent par la chaîne ``poubelle`` de la table ``filter``, il faudra utiliser ``iptables`` avec ces arguments :
iptables --append poubelle --source 10.8.6.4 --match comment --comment "commentaire"
Dans ce cadre d'une utilisation du plugiciel rrd pour écrire les données, collectd va créer le répertoire type iptables-_table_-_commentaire_. Dans notre exemple :
ls /var/lib/collectd/rrd/hostname/iptables-filter-poubelle/ ipt_bytes-commentaire.rrd ipt_packets-commentaire.rrd
Pour chaque commentaire, collectd crée un fichier pour les octets (bytes) et les paquets.
### plugiciel users
Ce plugiciel enregistre le nombre de personnes connectées sur la machine. C'est surtout utile sur une machine partagée entre plusieurs utilisateurs mais il y a une autre possibilité.
#### utilisation des seuils d'alerte
C'est une solution pour être alerté dès qu'un utilisateur se connecte sur un serveur (c'est utile pour une machine sur laquelle il y a très peu de connexions).
Dans le plugiciels users, on définit le seuil « warning » à 0. Dès que le seuil est dépassé, une notification est envoyée par courriel. Il est également possible de définir un seuil « critical ».
Sous Debian les seuils sont définis dans le fichier `/etc/collectd/thresholds.conf`. Exemple :
<Threshold> [...] <Plugin "users"> <Type "users"> WarningMax 0 FailureMax 2 Persist false </Type> </Plugin> [...] </Threshold>
Explications : - le seuil concerne le plugin « users » et le type « users » - au-dessus de 0 utilisateur connecté, on envoie une alerte « warning » - au-dessus de 2 utilisateurs connectés simultanément, on envoie une alerte « critical »
### plugiciel notify_email
Ce plugiciel permet d'envoyer des messages lors des dépassements de seuils.
Exemple de configuration :
<Plugin notify_email> SMTPServer "localhost" SMTPPort 25 From "collectd@mondomaine.net" Subject "[collectd] %s on %s!" Recipient "admin@mondomaine.net" </Plugin>
</markdown>