Sommaire
On parle beaucoup de la surveillance informatique (supervision, hypervision) qu'on doit réaliser dans nos implantations. Beaucoup d'outils sont à notre disposition, de la ligne de commande à la grosse usine à gaz, parfois très longue à configurer (voir la page OutilsDeSuivi).
Munin a l'avantage d'être très simple à configurer, de disposer de pas mal de plugins téléchargeables sur le net ou que vous pouvez programmer vous même. En 10 minutes, on peut avoir une vision correcte de son réseau avec Munin.
Pour en savoir plus :
Le site officiel de Munin, avec toute la documentation : http://munin.sourceforge.net/
Un exemple de ce que ça donne : http://munin.ping.uio.no/
Principe général
Sur chaque ordinateur que vous voulez surveiller, vous devez installer un agent Munin qui récupère les informations désirées et les envoie au serveur Munin principal.
Installation et configuration
Pré-requis
Avoir un serveur web qui tourne (apache2). Dans une petite implantation on installera le serveur Munin sur le serveur web principal (en virtualhost) ; dans une implantation plus conséquente on peut placer cela sur un serveur interne (sur le RPV). Les fichiers se placeront dans /var/www/munin.
Côté serveur : la machine qui va présenter les résultats (via apache2)
On installe la partie serveur de Munin :
# aptitude install munin
La configuration se fait dans /etc/munin/munin.conf, où il suffit de rajouter chaque machine à surveiller :
# extrait de /etc/munin/munin.conf [www.xx.auf.org] address 127.0.0.1 use_node_name yes [parefeu.xx.auf.org] address xxx.xxx.xxx.xxx use_node_name yes [voip.xx.auf.org] address xxx.xxx.xxx.xxx use_node_name yes (...)
Côté client : sur chaque machine à surveiller
Installation du client Munin (node, pour nœud) sur chaque machine à surveiller :
# aptitude install munin-node
Configuration dans /etc/munin/munin-node.conf : on y autorise le serveur à interroger le client :
# à la fin de /etc/munin/munin-node.conf, sur chaque client : # A.B.C.D = adresse IP du serveur allow ^A\.B\.C\.D$
Munin communique via le port 4949/tcp, attention si vous avez des filtrages (iptables) sur le chemin entre le serveur et le client.
Plugins installables sur les clients
Il est possible d'ajouter d'autres éléments à surveiller. Pour cela, on installe des plugins (extensions ou greffons) à Munin. On le fait sur la machine cliente (node) que l'on veut surveiller.
La liste des plugins disponibles par défaut est dans /usr/share/munin/plugins/. On préfèrera ajouter des plug-ins spécifiques dans le répertoire /usr/local/share/munin/plugins. Il faut ensuite créer des liens dans le répertoire /etc/munin/plugins/. Par exemple pour le plugin postgrey :
# ln -s /usr/local/share/munin/plugins/postgrey /etc/munin/plugins/postgrey
Il est aussi nécessaire de vérifier dans /etc/munin/plugin-conf.d/munin-node qu'il existe bien une entrée définissant le script. Par exemple pour postgrey:
# extrait de /etc/munin/plugin-conf.d/munin-node [postgrey] user root
Quelques sites proposant des plugins (attention, ni testés ni validés : à vos risques et périls !) :
http://muninexchange.projects.linpro.no/?about (Postgrey, Nut, Acpusd, Amavis, Postfix, etc...)
http://wiki.openvz.org/Monitoring_openvz_resources_using_munin
https://github.com/munin-monitoring/contrib/ : dépôt contenant plusieurs plugins
Plugin MySQL
Si en exécutant munin-node-configure --suggest l'utilitaire signale une erreur de ce type Missing dependency Cache::Cache , alors installer:
- libcache-cache-perl
libipc-sharelite-perl (éventuellement)
Plugin OPENVZ
- Cette version-ci propose une belle vue d'ensemble, une vue comparatives des différents CT
https://raw.github.com/munin-monitoring/contrib/master/plugins/openvz/openvz_
la version modifiée pour ajouter le suggest et l'autoconf
Plugin libvirt
Disponible dans les dépôts debian munin-libvirt-plugins vous permet d'avoir des stats (cpu,mem,net) de vos VM