Table des matières

Installation de Munin

Munin est un outil en deux parties :

Installation des deux parties sur deux machines différentes ou sur une machine unique.
Munin-node génére seulement des fichiers html, png, css.. qui sont placés dans le dossier /var/cache/munin/www (pas de perl, php…)

Ressources

Installer les paquets munin

Configuration de Munin-node

Ajouter les plugins **Mysql** à Munin

Ajouter les plugins **Sphinx** à Munin

Ajouter les plugins **Nginx** à Munin

Ajouter les plugins **Php-Fpm** à munin

Configuration de Munin (le grapheur)

Fichier /etc/munin/plugin-conf.d/munin-node :

# Ajout de l'instance Mysql 5.6 PROD (jpm) [26-11-2013]
[mysql_56_*]
user root
env.mysqlconnection DBI:mysql:mysql;host=127.0.0.1;port=3306
env.mysqladmin /usr/local/mysql/5.6/bin/mysqladmin
env.mysqlopts --defaults-extra-file=/root/.my.cnf
 
# Ajout de l'instance Mysql 5.6 TEST (jpm) [26-11-2013]
[mysql_56-test_*]
user root
env.mysqlconnection DBI:mysql:mysql;host=127.0.0.1;port=3308
env.mysqladmin /usr/local/mysql/5.6-test/bin/mysqladmin
env.mysqlopts --defaults-extra-file=/root/.my.cnf
 
# Ajout de la sonde Nginx (jpm) [18-07-2013]
[nginx*]
user root
# La ligne suivante ne semble pas utile
# env.url http://agathis.tela-botanica.org/nginx_status 
 
[nginx_traffic]
group adm
env.vhosts api.tela-botanica.org agathis.tela-botanica.net munin.agathis.tela-botanica.net sql.agathis.tela-botanica.net
env.logdir /home/log
env.flogfile nginx-access.log 
env.bparam 11
env.aggregate false

Fichier /etc/munin/munin.conf :

# a simple host tree
[Agathis]
    address 127.0.0.1
    use_node_name yes
[Sequoia]
    address 193.54.123.169
    use_node_name yes

Configurer le fichier de conf Nginx du domaine munin

server {
    server_name munin.agathis.tela-botanica.net www.munin.agathis.tela-botanica.net;
    server_name_in_redirect off;
    root "/home/admin/www/munin";
 
    index index.html;
    client_max_body_size 10m;
 
    access_log /home/admin/_logs/access.log;
    error_log /home/admin/_logs/error.log;
 
    if ($http_user_agent ~* (Baiduspider|webalta|nikto|wkito|pikto|scan|acunetix|morfeus|webcollage|youdao) ) {
        return 401;
    }   
 
    if ($http_user_agent ~* (HTTrack|clshttp|archiver|loader|email|harvest|extract|grab|miner) ) { 
        return 401;
    }   
 
    # Acces sécurisé : 
    # - créer un fichier /home/admin/www/.htpasswd
    # - ajouter un utilisateur admin et définir son mot de passe avec la commande : 
    # htpasswd -c /home/admin/www/.htpasswd admin
    # - Décommenter les lignes ci-dessous
    #location / { 
    #    auth_basic "Administrator Login";
    #    auth_basic_user_file /home/admin/.htpasswd;
    #}  
 
    location /nginx_status {
        stub_status on; 
        access_log   off;
        allow 127.0.0.1;
        deny all;
    }   
}