Munin-node activation plugins

De wikiGite

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

Plugin APC

AVEC MUNIN-NODE 2.x UNIQUEMENT. Récupère les informations sur le cache APC.

Installer munin_plugin_php_apc :

cd /usr/share/munin/plugins
wget http://munin-php-apc.googlecode.com/files/munin_plugin_php_apc-0.1.zip
unzip munin_plugin_php_apc-0.1.zip
mv php_apc/php_apc_ .
mv php_apc/apc_info.php /var/www/html
rm -r php_apc/

Créer un alias Apache :

# vi /etc/httpd/conf.d/apc-munin.conf
Alias /apc-info /var/www/html/apc_info.php
<Location /apc-info>
    php_admin_value open_basedir /tmp/:/var/www/html/
    AddType application/x-httpd-php .php
    Order deny,allow
    Deny from all
    Allow from 127.0.0.1 ::1
</Location>

Recharger Apache

/etc/init.d/apache reload

ou

/etc/init.d/httpd reload

Créer les liens pour munin-node :

cd /etc/munin/plugins
ln -s /usr/share/munin/plugins/php_apc_ php_apc_usage
ln -s /usr/share/munin/plugins/php_apc_ php_apc_hit_miss
ln -s /usr/share/munin/plugins/php_apc_ php_apc_fragmentation
ln -s /usr/share/munin/plugins/php_apc_ php_apc_files
ln -s /usr/share/munin/plugins/php_apc_ php_apc_rates

Ajouter la configuration :

# vi /etc/munin/plugin-conf.d/munin-node
[php_apc_*]
user root
env.url http://localhost/apc-info?auto

Et bien sûr :

/etc/init.d/munin-node restart

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

Ajouter dans /etc/munin/plugin-conf.d/munin-node

[postgres_*]
user postgres
env.PGUSER postgres

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

apt-get install libdbd-pg-perl