Blog de dada

DevOps, bidouilleur et routard plein de logiciels libres

Attention, ce billet se traine depuis plus de 3 mois. Les informations qu'il contient ne sont peut-être plus à jour.


Des jolis graphes à Facette 0.4.0 et RRD

Rédigé par dada / / 6 commentaires


En 2015, j'étais tombé sur Facette, un outil plutôt bien foutu pour afficher l'état de mon serveur sans avoir à m'y connecter. En 2015, après quelques mésaventures, j'avais passé mon système de monitoring sous Monitorix. Eh bien, en 2017, avec la sortie de Facette 0.4rc1 (puis rc2 le temps de rédiger le billet), je retourne à mon premier amour !

Pourquoi ? Parce que cette version 0.4 est totalement retravaillée de l'intérieur, que ses jolis graphiques me manquent et que Monitorix, aussi simple soit-il, n'est pas vraiment une solution flexible. Je vous propose ici de quoi bien commencer, vu que la doc m'a filé mal au crâne.

Installer Facette

Pour les utilisateurs de Debian Jessie en amd64, voici le wget qui va bien. Pour les autres, faites un tour par ici.
wget https://github.com/facette/facette/releases/download/0.4.0rc2/facette_0.4.0rc2_jessie-amd64.deb
Pour installer le paquet :
dpkg -i facette_0.4.0rc2_jessie-amd64.deb 

Installer les dépendances RRD

Il est possible de remplir Facette avec Graphite, Influxdb, Kairosdb, ou encore Facette lui-même. J'ai choisi RDD, parce que.
apt-get install rrdtool rrdcached collectd 

Configurer Nginx

Facette a besoin d'un ReverseProxy pour fonctionner : en voici un exemple.

Configurer RRD

Installer les dépendances de RRD ne suffit pas, voici les quelques étapes supplémentaires pour faire fonctionner le bousin :

Créez les répertoires rrdcached :
mkdir /var/run/rrdcached/
On donne les bons droits à l'utilisateur facette :
chown facette: /var/run/rrdcached
Ajoutez ces lignes dans /etc/default/rrdcached :
OPTS="-s facette"
OPTS="$OPTS -l unix:/var/run/rrdcached/rrdcached.sock"
OPTS="$OPTS -j /var/lib/rrdcached/journal/ -F"
OPTS="$OPTS -w 1800 -z 1800 -f 3600 -t 4"
Cela permet, en gros, à Facette d'utiliser RRD.

Relancez RRDcached.
/etc/init.d/rrdcached restart 
Avec un ps, on vérifie que tout est comme on veut :
root@serveur:~# ps faux | grep rrd
root     14476  0.0  0.0  12736  2204 pts/0    S+   20:33   0:00                      \_ grep rrd
root     14465  0.0  0.0 138288  2632 ?        Ssl  20:33   0:00 /usr/bin/rrdcached -s facette -l unix:/var/run/rrdcached/rrdcached.sock -j /var/lib/rrdcached/journal/ -F -w 1800 -z 1800 -f 3600 -t 4 -p /var/run/rrdcached.pid

Configurer RRD comme fournisseur / provider

Allez dans le panneau d'administration de Facette et configurez RRD avec les informations que vous venez de mettre en place :

- Dossier de base
/var/lib/collectd/rrd

- Socket du démon rrdcached
/var/run/rrdcached/rrdcached.sock

- Motif de correspondance
(?P<source>[^/]+)/(?P<metric>.+).rrd

Voilà ! Vous devriez maintenant pouvoir commencer à faire vos propres graphiques :


Vous arriverez sans doutes à mettre en place vos graphiques comme des grands et à les afficher dans des collections, pas besoin d'expliquer comment faire.

Je reviens rapidement sur les fournisseurs de données. J'ai dit que Facette pouvait être de la partie, en plus de RRD et des autres. Cela veut dire que plusieurs instances bien configurées peuvent être agrégées sur un même serveur. C'était déjà une option bien chouette à l'époque, ça l'est toujours aujourd'hui : avoir une unique page pour, par exemple, surveiller tout le trafic réseau ! 

6 commentaires

#1  - nodoka a dit :

Bonjour, merci pour ce petit tuto sur facette j'ai tenté de le faire fonctionner il y a quelques mois impossible de comprendre leur doc.

J'ai réussi à avancer un peut mais j'ai un problème, impossible d'afficher des données j'ai bien suivis le tuto même si javais des différences avec toi :

j'utilise apache voila mon vhost :

<VirtualHost *:80>
ServerName subdomain.ndd

CustomLog /var/log/apache2/subdomain.ndd.net-access.log combined
ErrorLog /var/log/apache2/subdomain.ndd.net-error.log

ProxyRequests Off
ProxyPass / http://127.0.0.1:12003/
ProxyPassReverse / http://127.0.0.1:12003/

</VirtualHost>

le socket rrcached pointait vers "/var/run/rrdcached.sock" et non pas "/var/run/rrdcached/rrdcached.sock" j'ai donc modifier le fichier de conf pour le déplacer, forcement avant facette me lançais cette erreur :

"http: unable to fetch points: Unable to connect to rrdcached: No such file or directory"

Désormais j'ai "http: unable to fetch points: Unable to connect to rrdcached: Permission denied" j'ai beau avoir modifié la ligne "SOCKMODE=0777" je fini avec :
"rrdcached: /var/lib/collectd/rrd/symphonie-of-code.fr/memory/memory-free.rrd: Permission denied"

Aurais tu une idée d’où cela proviens ?

Répondre
#2  - dada a dit :

Coucou,

J'ai oublié une étape :

chown facette: /var/run/rrdcached

Ça devrait corrigé ton problème de droit ! Je mets à jour le billet.

Répondre
#3  - nodoka a dit :

Malheureusement ça n'a pas suffis, j'ai tenter de modifier le fichier de "/etc/default/rrdcached" avec :
SOCKGROUP=facette.
DAEMON_GROUP=facette

j'ai mis les fichiers en :
chown -R root:facette /var/lib/collectd/

dans le doute j'ai même rajouter apache dans les groupe :
usermod -aG rrdcached www-data
usermod -aG facette www-data

rien à faire j'ai toujours cette erreur :
"ERROR: http: unable to fetch points: rrdcached: /var/lib/collectd/rrd/symphonie-of-code.fr/memory/memory-free.rrd: Permission denied"

Répondre
#4  - dada a dit :

Je regarde ton souci d'ici la fin de semaine, c'est étonnant. Je t'invite à reprendre le tuto depuis le début en attendant :)

Répondre
#5  - faxmodem a dit :

essaie déjà de te passer de rrdcached, vu que c'est optionnel. Une fois que ça marche, tu pourra passer à l'étape suivante

Répondre
#6  - sebt3 a dit :

J'ai un "petit" projet qui offre des options similaires. Le combat avec rrd en moins ;)

https://github.com/sebt3/watched.agent/

Répondre

Fil RSS des commentaires de cet article

Écrire un commentaire

Quelle est la cinquième lettre du mot bhksuc ?