Outils personnels

Installation de munin - munin-node

De wikiGite

Debian

Installation client only

apt-get install munin-node

Editer /etc/munin/munin-node.conf, ajouter à la fin :

allow ^192\.168\.1\.253

(Ou 192.168.1.253 est l'adresse du serveur Munin - Adapter selon la configuration)

CentOS

Installation client

Si ça n'a pas déjà été fait, installation repos RPMForge ( -> Dépôts complémentaires).

yum --enablerepo=rpmforge install munin-node

paramétrer le fichier conf sous /etc/munin, démarrer munin-node et l'ajouter au chkconfig

Pour munin-node (client), si le serveur munin est distant, il faut l'autoriser dans /etc/munin/munin-node.conf en ajoutant sont adresse IP. Exemple :

allow ^192\.168\.1\.253$

On oublie pas :

chkconfig --level 2345 munin-node on
chkconfig --list munin-node

NOTE importante : supprimer le plugin hddtemp_smartctl (/etc/munin/plugins) car il provoque une erreur sur le lecteur CD :

Apr  9 10:00:06 server2 kernel: hdc: drive_cmd: status=0x51 { DriveReady SeekComplete Error }
Apr  9 10:00:06 server2 kernel: hdc: drive_cmd: error=0x04 { AbortedCommand }
Apr  9 10:00:06 server2 kernel: ide: failed opcode was: 0xec

Problème noté sur BlueOnyx en machine virtuelle ESXi.

Ne laisser qu'un plugin ntp, renommé en "ntp_canon_inria_fr".

Et pour finir...

/etc/init.d/munin-node restart

Installation server

yum --enablerepo=rpmforge install munin 

Paramétrer le serveur munin pour récupérer les données du client. Dans /etc/munin/munin.conf :

[server.domain.tld]
   address 192.168.1.250
   use_node_name yes

Activation et paramétrage des PLUGINS

Créer simplement un lien sur les plugins, de /usr/share/munin/plugins/ dans /etc/munin/plugins.

Certains liens doivent être créés avec un nom spécial (ex : *_eth0 pour faire référence à une interface en particulier)

Plugins MySQL

Vérifier que les plugins mysql_* sont présents (les ajouter avec "ln -s /usr/share/munin/plugins/mysqlxxxxxx si nécessaires). Pour mysql munin a besoin de droits. Donc déclarer un utilsateur avec le minimum de droits sur les tables systèmes :

# mysql -u root -p
 mysql> grant select on mysql.* to munin@localhost identified by 'munin';
 mysql> exit

Puis modifier le bloc [mysql*] dans /etc/munin/plugin-conf.d/munin-node

[mysql*]
user root
env.mysqlopts -umunin -pmunin

Plugins APACHE_*

Les plugins apache ont besoin de server-status. Pour l'activer voir Activation de server-status.

Note : server-status est activé par défaut sur Debian 6 Squeeze.

Créer ensuite un lien des scripts /usr/share/munin/plugins/apache_* vers /etc/munin/plugins

cd /etc/munin/plugins
ln -s /usr/share/munin/plugins/apache_accesses
ln -s /usr/share/munin/plugins/apache_volume
ln -s /usr/share/munin/plugins/apache_processes

Plugins ip_*

if_* n'est pas sûr pour des cartes à 100Mb ou 1Gb. Il vaut mieux ajouter le plugin ip_

Le plugin ip_ de munin-node réclame 2 règles iptables pour compter les paquets au niveau IP, en début de INPUT :

/sbin/iptables -I INPUT -d <adresse IP à surveiller>
/sbin/iptables -I OUTPUT -s <adresse IP à surveiller>

Le plus simple est de les placer dans /etc/rc.local pour qu'elles soient chargées au démarrage.

Activation du module :

ln -s /usr/share/munin/plugins/ip_ /etc/munin/plugins/ip_<adresse IP à surveiller>

Et ajouter dans /etc/munin/plugin-conf.d/munin-node

[ip*]
user root

Redémarrer le service munin-node :

/etc/init.d/munin-node restart

Note pour ISPConfig : ajout d'un script init.d/ispconfig_zcustom (z pour qu'il se lance après ispconfig_server) :

#!/bin/bash
# FSO 01/2008
###################################
#
# ISPConfig custom tasks
#
###################################
IPTABLES=/sbin/iptables
IP=192.168.1.1
case "$1" in
   start)
       echo "ISPConfig custom script..."
       # OSSEC HIDS ip_ plugin comment : "...you need these iptables rules as the first rules (they don't do anything, just make packet counts)"
       $IPTABLES -I INPUT -d $IP
       $IPTABLES -I OUTPUT -s $IP
   ;;
   stop)
       $IPTABLES -D INPUT -d $IP
       $IPTABLES -D OUTPUT -s $IP
   ;;
   restart)
       $0 stop  && sleep 1
       $0 start
   ;;
   *)
   echo "Usage: $0 {start|stop|restart}"
   exit 1
esac
exit 0

Puis ajout aux runlevels par défaut : update-rc.d ispconfig_zcustom defaults 99 98

Plugins PostgreSQL

Les plugins postgresql (/usr/share/munin/plugins/postgres_*) demandent une librairie Perl pour fonctionner sur Debian :

apt-get install libdbd-pg-perl

TIPS

Tests

munin-run mysql_bytes

On peut essayer aussi

telnet <host_surveillé> 4949
fetch df
config df

qui donne ce que voit le serveur munin (ici pour le service df) en interrogeant munin-node du "host surveillé". Essayer aussi les commandes "list", et "nodes".
Pour quitter telnet taper "quit" ou attendre quelque secondes, la session se ferme seule s'il n'y a pas d'activité.

Sur le serveur Munin qui centralise les nodes, on peut vérifier les échanges par :

# su -s /bin/bash munin
$ /usr/share/munin/munin-update --debug --nofork --stdout --host <host_surveillé> --service df

Si modification device eth

Ex : après install des VMWareTools, eth1 passe en eth0 Penser à renommer /etc/munin/plugins/if_* (par mv, pas par cp, pour ne toucher qu'aux liens)