Blog de dada

DevOps, bidouilleur et routard plein de logiciels libres

Monitoring

Des jolis graphes à Facette 0.4.0 et RRD

Rédigé par dada / 15 août 2017 / 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 ! 

Facette 0.4rc1 disponible

Rédigé par dada / 19 juillet 2017 / Aucun commentaire




Mon bon vieux Facette s'est offert une nouvelle version et je suis complètement passé à côté...! Je me souviens l'avoir abandonné après avoir souffert de pas mal d'instabilité en sa version 0.3. Espérons que cette 0.4 corrigera le tir, et ça semble être le cas quand je parcours les notes de version. Monitorix ne me satisfaisant pas vraiment, je retourne lorgner sur Facette.

Au programme :
  • Réécriture du Front-end
  • Réécriture du Back-end
  • Ajout de stockage en BDD (MySQL, PostgreSQL, SQLite)
  • Configuration gérée par un .yaml
  • Ajout de templates de collection
  • Ajout d'alias de graphiques et de collection
  • Ajout d'une API
  • Disponible en français et en anglais
  • Etc
Bon, si avec tout ça, je ne retrouve pas mon bonheur perdu, je balancerai un paquet de #Tristitude sur Mastodon ! Je sors ce billet alors que je suis déjà en train de m'amuser avec. J'ai un peu souffert pour le faire tourner, rien de méchant mais je sortirai un tuto pour expliquer comment s'en servir assez rapidement.

Monitorix, du bon monitoring léger

Rédigé par dada / 20 juin 2016 / 8 commentaires




Toujours à la recherche de solutions simples et légères de monitoring, j'entreprends régulièrement des recherches sur le grand Internet pour trouver mon bonheur. Et je crois que je viens de le trouver : Monitorix !

Facette, le système que j'utilisais avant, avait une fâcheuse tendance à disjoncter pour des raisons inconnues : les graphiques disparaissaient sans que je ne comprenne pourquoi. C'est quand même dommage. Avec Monitorix, j'espère ne plus rencontrer ce genre de problèmes et, en plus, son développement est toujours actif.

L'installation de cette solution est hyper simple : on installe le paquet disponible sur le site officiel et c'est parti. Les graphiques commencent à se remplir tout seuls. Ils demandent quelques dépendances mais rien de bien méchant.

De base, il pond des graphiques sur ce qui est vital : le load de la machine, le réseau, l'utilisation du disque dur mais aussi Apache2, les mails (sendmail/postfix), MySQL etc. Autant dire que je découvre pas mal de choses sur le comportement de mon pod diaspora : diaspote.org.

Si vous voulez avoir une idée de l'utilisation de la mémoire du pod, par exemple :



Et ouais, 2 GB, c'est limite. La bizarrerie du graphique vient du redémarrage journalier du pod, dans la nuit. On évite le crash avec ça ;-)

La configuration de Monitorix est assez simple. Il faut juste créer un utilisateur spécifique pour le monitoring de MySQL et bien faire attention d'avoir les fichiers sm-client.st et sendmail.st pour récupérer les statistiques de Sendmail. Mis à part ça, tout se configure dans le fichier de configuration de l'utilitaire.

Il ne lui manque que la possibilité d'avoir des graphiques un peu plus précis. Contrairement à Facette, il n'est pas possible de zoomer sur une période précise pour analyser l'évolution de la situation seconde par seconde. Après, c'est un peu gadget : les différentes courbes sont suffisamment claires pour tirer les bonnes conclusions.

En bonus, il est possible de configurer des alertes et des scripts à lancer en cas de souci. C'est franchement chouette !