• Timothée Jaussoin's feed

    I'm a Web developer, hacktivist, defending the Net Neutrality and citizens privacy. Author of Movim, a XMPP social-network client written in PHP and HTML5. If you have any questions about Movim, XMPP or something related, please ask it in the official chatroom : movim@conference.movim.eu.

  • Movim + Munin = <3

    Timothée Jaussoin – Sunday, 13 December, 2015 - 23:16 - Thursday, 7 April, 2016 - 22:50

Pou ceux qui, comme moi, aiment bien suivre ce qui se passe sur leurs serveurs avec des jolis graphs (qui a dit admin pr0n ?) il existe un super outil appelé Munin.

Sans rentrer dans les détails Munin se déploie en deux temps. Tout d'abord il vous faut déployer munin-node sur les serveurs que vous souhaitez écouter. Puis d'installer munin (tout court) sur l'un des serveurs qui servira à rapattrier toutes ces informations et à générer des zoulis graphs. Sachant que le serveur d'écoute peut aussi s'écouter lui même.

Si vous voulez en savoir plus, n'hésitez pas à jeter un œil à la documentation officielle qui est très bien faite.

Ce qui nous intéresse aujourd'hui c'est comment ajouter des sondes sur un serveur où Movim est déployé.

Pour ce faire j'ai suivit l'un des tutoriels de la documentation officielle How to write Munin plugins et j'ai créé deux modules Movim pour Munin :

  1. Le premier sert à relever le nombre d'inscrits sur le serveur
  2. Le second le nombre de connectés

Voici donc le petit script pour la population.

#!/bin/sh

case $1 in
   config)
        cat <<'EOM'
graph_title Movim Population
graph_vlabel population
population.label population
EOM
        exit 0;;
esac

printf "population.value "
curl -sS https://nl.movim.eu/?infos|jq '.population'

La dernière ligne de ce script sert à récupérer la valeur qui sera tracée progressivement sur le graph. Ici je fais une simple requête Curl sur Movim afin de récupérer les données de la page infos puis grâce à jq (un ptit outil qui sert à extraire des données d'un JSON) je vais chercher la valeur de la clef population.

Pour les connectés c'est exactement pareil sauf la donnée à extraire du JSON (et les étiquettes du graph).

Une fois cela fait, il ne reste plus qu'à mettre le script (avec les bon droits) dans le dossier /etc/munin/plugins/ et de relancer munin-nodes.

Et voilà 😀

Les deux modules Movim en action