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.

Vus : 1765
Publié par Zergy : 41