Faire fonctionner Munin en mode asynchrone
Munin est un outil de supervision permettant de surveiller l'état de PC et d'afficher l'état des différent éléments surveillés (utilisation CPU, disques…) sous forme de graphique.
Le serveur Munin se connecte aux clients exécutant Munin-Node et récupère les informations dont il a besoin afin de générer les graphiques, en fonctionnement normal, un problème de connexion aux clients résultera en un « trou » dans leur supervision. Munin Async permet de corriger cela permettant au client de garder un trace de son activité entre chaque connexions du serveur, celui peut ainsi compléter ses graphique en cas de déconnexion prolongé d'un client.
Comme toujours il s'agit d'un tutoriel orienté Debian/Ubuntu, peut être adapté à d'autres distributions. Attention, sous Fedora et Arch, l'utilisateur munin-async
ci-après n'est pas crée, servez-vous de l'utilisateur munin
à la place.
Client
Installation
Installer les paquets nécessaire à la supervision du client.
# apt install munin-node munin-async munin-plugins-extra
Configuration
Modifiez le fichier /etc/munin/munin-node.conf
pour que les service munin-node
et munin-async
n'écoutent qu'en local.
listen 120.0.0.1 allow ^127.0.0.1$
Puis, démarrer munin-node
et munin-async
# systemctl restart munin-node # systemctl restart munin-async
Serveur
Installation
Installer le paquet munin
.
# apt install munin
Configuration
Créer une paire de clefs SSH pour l'utilisateur munin
# su -s /bin/bash munin $ ssh-keygen -t rsa $ ssh-copy-id munin-async@client
L'utilisateur munin
du serveur peut dorénavant se connecter sur le client en tant que munin-async
. Il est nécessaire de faire la première connexion manuellement.
$ ssh munin-async@client
Editer le fichier /etc/munin/munin.conf
afin de modifier le l'addresse du client à superviser comme suit :
[client] address ssh://munin-async@client:port
Sécurisation
Ne permettre qu'au serveur de se connecter au client en ajoutant la ligne suivante dans le fichier /etc/security/access.conf
du client :
+munin-async : IPServeurMunin
Limiter les commandes utilisable lors de la connexion SSH du serveur en ajoutant le préfixe suivant au fichier .ssh/authorized_keys
de l'utilisateur munin-node
du client.
no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty,no-user-rc,command="/usr/share/munin/munin-async --spoolfetch" ssh-rsa
Retentez de vous connecter au client depuis le serveur, vous devriez avoir le résultat suivant
# su -s /bin/bash munin $ ssh munin-async@client PTY allocation request failed on channel 0 # munin node at client
Patientes quelques minutes, les graphiques devraient êtres visible sur la page de supervision.