Accueil > Logiciel, Réseau, Système > Monitoring de serveurs avec Munin

Monitoring de serveurs avec Munin

30/01/2024 Categories: Logiciel, Réseau, Système Tags: , , ,
Print Friendly, PDF & Email

Installation

Munin est un outil de monitoring fonctionnant par script et collectant des informations sur le systeme à interval régulier (5min par défaut), Munin affiche des graphiques concernants des informations qu’il collecte dans /proc. Les graphiques sont accessibles via apache, il faut donc également sécuriser l’accès à celui-ci. Il faut installer trois choses différentes :monitoring munin

  • le programme munin,
  • le daemon munin-node qui va monitorer les informations système,
  • et apache2 qui nous permettra de visualiser les graphiques.

Mise à jour :

apt-get update
apt-get upgrade

On installe apache sur le premier serveur à monitorer :

apt-get install apache2 apache2.2-common

La configuration d’apache sera faite plus tard, une fois qu’on aura vérifé que Munin fonctionne. On installe ensuite Munin et Munin-Node :

apt-get install munin munin-node

L’ensemble des fichiers de configuration se trouve dans /etc/munin.

Configuration

Dans un premier temps, on va configurer Munin:

nano /etc/munin/munin.conf

Il y a deux sections importantes :

dbdir /var/lib/munin : repertoire de stockage des données
htmldir /var/www/munin : repertoire d'accés aux graphiques
logdir /var/log/munin : repertoire de stockage des logs
rundir /var/run/munin : repertoire contenant le pid du processus

La section contenant l’arbre des machines à surveiller :

# a simple host tree
[Server_Datas] # nom de la machine
address 127.0.0.1 # son ip
use_node_name yes

On configure ensuite munin-node :

$ nano /etc/munin/munin-node.conf

allow ^127.0.0.1$ #défini l'ip pouvant se connecter à munin-node
# Section importante :
host_name localhost.localdomain # à configurer dans le cas ou les noms de machines n'apparaissent pas sur l'interface web

Configuration des plugins

Chaque graphique est généré par un plugin different, les plugins sont stockés dans /usr/share/munin/plugins, pour installer un plugin il suffit de créer un lien relatif vers /etc/munin/plugins :

ln -s /usr/share/munin/plugins/mon_plugin /etc/munin/plugins

Les plugins dont le nom termine par le caractere ‘_’ prennent en argument le nom du périphérique à surveiller, par exemple : if_eth0 pour eth0. Pour supprimer un plugin il suffit de faire :

rm etc/munin/plugins/mon_plugin

Une fois les plugins installés, on redémarre munin-node :

/etc/init.d/munin-node restart

Une fois les plugins installés et munin-node redemarré, on accede aux graphiques via un navigateur web :

http://adresse_ip_du_serveur/munin

Ce qui devrait donner quelque chose comment ceci : <image à venir /> On constate qu’il y a deux serveurs à monitorer, il faut donc passer à la configuration du deuxième serveur. On met à jour la machine et on installe le paquet munin-node (et celui-là uniquement) :

apt-get install munin-node

On édite le fichier /etc/munin/munin-node.conf et on lui rajoute l’ip de la machine autorisée à accèder aux daemon :

allow ^127.0.0.1$
allow ^ip.de.la.machine$

Sur notre premier serveur, il faut configurer l’arbre d’affichage des machines, pour cela on édite /etc/munin/munin.conf et on ajoute la deuxième machine à monitorer:

[Server_one] # nom de la machine
address 127.0.0.1 # son ip
use_node_name yes
[Server_two] # nom de la machine
address xxx.xxx.xxx.xxx # son ip
use_node_name yes

On choisi les plugins de la même manière (liens relatifs…) et on redémarre le daemon :

/etc/init.d/munin-node restart

Sécurisation

Et voilà, notre système de monitoring est fonctionnel. Il ne reste plus qu’à en sécuriser l’accés. Pour cela on va utiliser un système d’authentification fort d’apache : le mode digest.   On édite /etc/apache2/apache2.conf et on ajoute :

 <Directory /var/www/munin/>
AllowOverride AuthConfig
Options Indexes MultiViews FollowSymLinks
Order deny,allow
Allow from all
</Directory>

Dans /var/www/munin/ on créé un fichier .htaccess qu’on édite :

$ nano /var/www/munin/.htaccess

AuthType Digest
# nom à renseigner pour le mot de passe
AuthName "munin"
AuthDigestProvider file
# le nom du fichier de mot de passe
AuthUserFile /etc/apache2/.digest-test

<Limit GET POST>
Require valid-user
</Limit>

On lui donne les bons droits :

chown www-data .htaccess
chmod 400 .htaccess

On créé le fichier de mot de passe :

htdigest -c /etc/apache2/.digest-test munin mon_user
Remarque : la syntaxe est la même mais sans -c pour ajouter un utilisateur On redémarre apache et voilà, lorsqu’on tape l’url de Munin dans notre navigateur, ce dernier nous demande le mot de passe qui va bien. Ne pas oublier d’autoriser le trafic sur les ports 4949 pour que clients et serveur Munin puissent envoyer/ recevoir leurs stats.
source: izda
Lire aussi:  Fix “This device isn’t eligible for the requested build” Error in iTunes When Updating iOS

Les commentaires sont fermés.