Munin

De wiki.nexiat.fr
Aller à la navigation Aller à la recherche
Fiche express
Domaine Supervision (métriques, graphes)
Commande munin-node, munin-node-configure
Contexte RHEL/CentOS 5, architecture master/node
Voir aussi Ganglia, Nmon, Sar (supervision similaire)

Munin est un outil de supervision qui collecte des métriques système (CPU, mémoire, réseau, disques…) via des plugins et génère des graphes RRD. Il fonctionne en architecture master/node : un serveur master interroge périodiquement les nœuds via l'agent munin-node, installé sur chaque machine à superviser.

Installation du nœud (munin-node)

rpm -ivh munin-node-1.2.5-2.el5.rf.noarch.rpm
chkconfig --list | grep munin
chkconfig munin-node on
service munin-node start

Autoriser le master à interroger le nœud dans /etc/munin/munin-node.conf :

allow ^192\.168\.132\.132$

Puis redémarrer le service pour prendre en compte la config :

service munin-node restart

munin-node-configure détecte automatiquement les plugins pertinents pour la machine (à activer avec --suggest, ou -h pour l'aide complète) :

munin-node-configure
munin-node-configure -h

Installation du master

Sur RHEL/CentOS 5, Munin nécessite plusieurs dépendances Perl et rrdtool absentes des dépôts officiels — dépôt DAG/RPMforge :

wget http://dag.wieers.com/rpm/packages/perl-Net-SNMP/perl-Net-SNMP-5.2.0-1.1.el3.rf.noarch.rpm
wget http://dag.wieers.com/rpm/packages/perl-Crypt-DES/perl-Crypt-DES-2.05-3.1.fc3.rf.i386.rpm
wget http://dag.wieers.com/rpm/packages/perl-Socket6/perl-Socket6-0.19-1.1.fc3.rf.i386.rpm
wget http://dag.wieers.com/rpm/packages/perl-Net-Server/perl-Net-Server-0.94-1.el3.rf.noarch.rpm
wget http://dag.wieers.com/rpm/packages/perl-HTML-Template/perl-HTML-Template-2.8-1.1.fc3.rf.noarch.rpm
wget http://dag.wieers.com/rpm/packages/rrdtool/rrdtool-1.2.18-1.el3.rf.i386.rpm
wget http://dag.wieers.com/rpm/packages/rrdtool/perl-rrdtool-1.2.18-1.el3.rf.i386.rpm

yum -y install sysstat
rpm -ivh perl-Net-SNMP-5.2.0-1.1.el3.rf.noarch.rpm perl-Crypt-DES-2.05-3.1.fc3.rf.i386.rpm \
  perl-Socket6-0.19-1.1.fc3.rf.i386.rpm perl-Net-Server-0.94-1.el3.rf.noarch.rpm \
  perl-HTML-Template-2.8-1.1.fc3.rf.noarch.rpm rrdtool-1.2.18-1.el3.rf.i386.rpm \
  perl-rrdtool-1.2.18-1.el3.rf.i386.rpm

Ajouter un plugin personnalisé

Les plugins vivent dans /usr/share/munin/plugins/ (scripts fournis) et sont activés par lien symbolique dans /etc/munin/plugins/ ; leur configuration spécifique (droits, options) va dans /etc/munin/plugin-conf.d/. Exemple avec un plugin de suivi mémoire par process :

cd /usr/share/munin/plugins/
vi memory_by_process     # écrire/adapter le script (doit démarrer par #!/bin/sh)
chmod +x memory_by_process
./memory_by_process      # tester en autonome avant activation

cd /etc/munin/plugins/
ln -s /usr/share/munin/plugins/memory_by_process memory_by_process

service munin-node restart

Vérifier que le plugin est bien pris en compte :

ls -al /etc/munin/plugins/

Voir aussi

  • Ganglia — supervision distribuée, orientée clusters
  • Nmon — capture ponctuelle de métriques système, sans architecture master/node
  • Sar — historique de métriques système via sysstat, en local