Skip to content


Supervision de serveurs avec Munin et Munin-node

Introduction

Il arrive à un moment dans la vie d’une entreprise que l’on est besoin de superviser les services essentiels à la pérennité de l’activité de celle-ci. C’est alors qu’un certain nombre d’outils font leur apparition dans la vie de l’administrateur en charge du système, et qu’un ou plusieurs choix doivent être fait !

L’un des outils de supervision ou moniteur qui peut-être installé est : Munin

Le fonctionnement de Munin :

  • - Un processus central
  • - Des nœuds (les machines à superviser )

Les nœuds de façon régulière (crond) envoient un ensemble de valeurs pour le ou les services surveillés au processus central. Le processus central met en forme celles-ci afin de générer des graphiques. Ces nœuds doivent-être déclarés au processus central afin qu’il communique avec ceux-ci.

Il existe donc deux paquets :

  • - munin (processus centrale)
  • - munin-node (nœud)

Installation de Munin

Si vous désirez superviser la machine hébergeant le processus central, il faut installer les deux paquets. Dans le cas contraire, seul le paquet munin doit-être installé.

Dans mon cas je veux le superviser aussi.

On lance donc la commande :

# apt-get install munin (munin-node)

Cela va se dérouler assez tranquillement et aucune question ne vous sera posée hors « voulez-vous installer ces paquets ? »

Configuration du processus central

Il faut éditer les fichier : /etc/munin/munin.conf ; /etc/munin/apache.conf

Mon fichier munin.conf est :

dbdir   /var/lib/munin
htmldir /var/cache/munin/www
logdir /var/log/munin
rundir  /var/run/munin
includedir /etc/munin/munin-conf.d
[localhost.localdomain]
 address 127.0.0.1 # Le processus central
 use_node_name yes
[helios.system-linux.net]
 address 10.1.1.254 # un noeud
 use_node_name yes

Mon fichier apache.conf est :

Alias /munin /var/cache/munin/www
<Directory /var/cache/munin/www>
 Order allow,deny
 Allow from 10.1.1.0/24 127.0.0.1/8 ::1
 Options None
 # This file can be used as a .htaccess file, or a part of your apache
 # config file.
 #
 # For the .htaccess file option to work the munin www directory
 # (/var/cache/munin/www) must have "AllowOverride all" or something
 # close to that set.
 #
 # AuthUserFile /etc/munin/munin-htpasswd
 # AuthName "Munin"
 # AuthType Basic
 # require valid-user
 # This next part requires mod_expires to be enabled.
 #
 # Set the default expiration time for files to 5 minutes 10 seconds from
 # their creation (modification) time.  There are probably new files by
 # that time.
 #
 <IfModule mod_expires.c>
 ExpiresActive On
 ExpiresDefault M310
 </IfModule>
</Directory>

Installation du nœud

Il faut installer la partie noeud qui va informer le processus central des valeurs retournées.

# apt-get install munin-node

Il faut alors éditer le fichier /etc/munin/plugin-conf.d/munin-node qui permet de mettre les options nécessaires à certains services (MySQL par exemple)

Le mien est :

[mysql*]
user root
env.mysqlopts --defaults-file=/etc/mysql/debian.cnf
env.mysqluser debian-sys-maint
env.mysqlconnection DBI:mysql:mysql;mysql_read_default_file=/etc/mysql/debian.cnf

Il faut aussi éditer le fichier /etc/munin/munin-node.conf afin d’indiquer quel(s) processus principal est susceptible de communiquer avec lui.

Le mien est :

log_level 4
log_file /var/log/munin/munin-node.log
pid_file /var/run/munin/munin-node.pid
background 1
setsid 1
user root
group root
ignore_file ~$
ignore_file DEADJOE$
ignore_file \.bak$
ignore_file %$
ignore_file \.dpkg-(tmp|new|old|dist)$
ignore_file \.rpm(save|new)$
ignore_file \.pod$
allow ^10\.1\.1\.254$
host *
port 4949

Une fois modifié il faut redémarrer le service sur les nœuds : /etc/init.d/munin-node restart

Par défaut le processus principal lance la vérification toutes les cinq minutes…

Si vous désirez commencer à peupler de graphiques, lancez la commande suivante :

# su - munin --shell=/bin/bash

$ /usr/share/munin/munin-update --nofork --debug ; /usr/bin/munin-cron --debug

 

Gestion des plugins

Le répertoire /usr/share:munin/plugins/ contient l’ensemble des plugins valables pour votre distribution, en voici la liste avec Debian Lenny :

acpi
amavis
apache_accesses
apache_processes
apache_volume
apc_envunit_
apc_nis
apt
apt_all
asterisk_channels
asterisk_channelstypes
asterisk_codecs
asterisk_meetme
asterisk_meetmeusers
asterisk_sipchannels
asterisk_sippeers
asterisk_voicemail
bind9
bind9_rndc
bonding_err_
buddyinfo
cmc_tc_sensor_
colour_tester
courier_
courier_mta_mailqueue
courier_mta_mailstats
courier_mta_mailvolume
cps_
cpu
cpuspeed
cupsys_pages
df
df_abs
df_inode
dhcpd3
digitemp_
diskstat_
diskstats
ejabberd_
entropy
env
exim_mailqueue
exim_mailqueue_alt
exim_mailstats
extinfo_tester
fail2ban
files_
foldingathome
foldingathome_rank
foldingathome_wu
forks
freeradius_acct
freeradius_auth
freeradius_proxy_acct
freeradius_proxy_auth
fw_conntrack
fw_forwarded_local
fw_packets
haproxy_
hddtemp
hddtemp2
hddtempd
hddtemp_smartctl
http_loadtime
id
if_
if_err_
ifx_concurrent_sessions_
interrupts
iostat
iostat_ios
ip_
ipac-ng
ipmi_
ipmi_sensor_
ircu
irqstats
jmx_
libvirt-blkstat
libvirt-cputime
libvirt-ifstat
libvirt-mem
load
loggrep
lpar_cpu
lpstat
mailman
mailscanner
mbmon_
memcached_
memory
mhttping
multigraph_tester
multiping
multips
multips_memory
munin_stats
munin_update
mysql_
mysql_bytes
mysql_innodb
mysql_isam_space_
mysql_queries
mysql_slowqueries
mysql_threads
named
netopia
netstat
nfs4_client
nfs_client
nfsd
nfsd4
nginx_request
nginx_status
nomadix_users_
ntp_
ntp_kernel_err
ntp_kernel_pll_freq
ntp_kernel_pll_off
ntp_offset
ntp_states
nut_misc
nutups_
nut_volts
nvidia_
open_files
open_inodes
openvpn
perdition
ping_
plugin.sh
plugins.history
pm3users_
pop_stats
port_
postfix_mailqueue
postfix_mailstats
postfix_mailvolume
postgres_bgwriter
postgres_cache_
postgres_checkpoints
postgres_connections_
postgres_connections_db
postgres_locks_
postgres_querylength_
postgres_scans_
postgres_size_
postgres_transactions_
postgres_tuples_
postgres_users
postgres_xlog
processes
proc_pri
proxy_plugin
ps_
psu_
qmailqstat
qmailscan
qmailscan-simple
quota_usage_
samba
selinux_avcstat
sendmail_mailqueue
sendmail_mailstats
sendmail_mailtraffic
sensors_
slapd_
slapd_bdb_cache_
slony_lag_
smart_
snmp__cpuload
snmp__df
snmp__fc_if_
snmp__fc_if_err_
snmp__if_
snmp__if_err_
snmp__if_multi
snmp__load
snmp__memory
snmp__netapp_diskusage_
snmp__netapp_inodeusage_
snmp__netstat
snmp__print_pages
snmp__print_supplies
snmp__processes
snmp__rdp_users
snmp__sensors_fsc_bx_fan
snmp__sensors_fsc_bx_temp
snmp__sensors_fsc_fan
snmp__sensors_fsc_temp
snmp__sensors_mbm_fan
snmp__sensors_mbm_temp
snmp__sensors_mbm_volt
snmp__swap
snmp__uptime
snmp__users
snmp__winload
snmp__winmem
snort_alerts
snort_bytes_pkt
snort_drop_rate
snort_pattern_match
snort_pkts
snort_traffic
spamstats
squeezebox_
squid_cache
squid_icp
squid_objectsize
squid_requests
squid_traffic
surfboard
swap
sybase_space
tcp
threads
tomcat_
tomcat_access
tomcat_jvm
tomcat_threads
tomcat_volume
uptime
users
varnish_
vlan_
vlan_inetuse_
vlan_linkuse_
vmstat
vserver_cpu_
vserver_loadavg
vserver_resources
warning_tester
yum
zimbra_

Ce qui donne un nombre assez impressionnant de possibilités. Cependant lorsqu’on liste ceux qui sont activés (et pas forcément necessaire) dans /etc/munin/plugins/ :

apache_accesses
apache_processes
apache_volume
exim_mailqueue
exim_mailstats
if_err_eth1
if_eth1
munin_stats
mysql_bytes
mysql_innodb
mysql_queries
mysql_slowqueries
mysql_threads
plugin.sh
samba
uptime

Si certains ne servent pas, une simple commande pour le supprimer : rm /etc/munin/plugins/nomduplugin

Et si d’autres vous intéressent : ln -s /usr/share/munin/plugins/nomdupluginvoulu /etc/munin/plugins/

Aisni lorsque tous les plugins voulus seront valables et correctement configurés dans le fichier munin-node, il faut redémarrer le service :

# /etc/init.d/munin-node restart

Voilà

Print Friendly, PDF & Email

Posted in Debian, Important, Linux, Mandriva, Sécurité, Technique, Toutes. Tagged with , , , , , , .

0 Responses

Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.

Some HTML is OK

(required)

(required, but never shared)

or, reply to this post via trackback.

Time limit is exhausted. Please reload CAPTCHA.


/* */
Creative Commons License
Cette création par Laurent Besson est mise à disposition selon les termes de la licence Creative Commons Paternité-Partage des Conditions Initiales à l'Identique 2.0 France.