GNU/Linux >> Tutoriels Linux >  >> Debian

Surveillance de plusieurs systèmes avec munin (Debian Etch)

Dans cet article, je vais décrire comment vous pouvez surveiller plusieurs systèmes avec munin. munin produit de petits graphiques astucieux sur presque tous les aspects de votre serveur (moyenne de charge, utilisation de la mémoire, utilisation du processeur, débit MySQL, trafic eth0, etc.) sans trop de configuration. J'installerai le client munin sur tous les systèmes à surveiller (y compris le serveur munin lui-même) ; les clients munin rapporteront alors au serveur munin.

Ce tutoriel a été écrit pour Debian Etch, mais la configuration devrait également s'appliquer à d'autres distributions avec peu de changements.

Je veux d'abord dire que ce n'est pas la seule façon de mettre en place un tel système. Il existe de nombreuses façons d'atteindre cet objectif, mais c'est la voie que je prends. Je n'émets aucune garantie que cela fonctionnera pour vous !

1 Remarque préliminaire

Le nom d'hôte de notre serveur munin est server1.example.com (adresse IP :192.168.0.100), et nous avons un site Web www.example.com dessus avec la racine du document /var/www/www.example.com/web dessus .

J'utilise ici un client munin, server2.example.com (adresse IP :192.168.0.101). Bien sûr, vous pouvez ajouter autant de systèmes clients que vous le souhaitez.

2 Installer et configurer munin sur le serveur

serveur munin (serveur1.exemple.com):

Pour installer le client et le serveur munin sur Debian Etch, nous procédons comme suit :

apt-get install munin munin-node

Ensuite, nous devons éditer le fichier de configuration munin /etc/munin/munin.conf. Nous voulons que munin place sa sortie dans le répertoire /var/www/www.example.com/web/monitoring, donc nous changeons la valeur de htmldir, et nous voulons qu'il utilise le nom server1.example.com au lieu de localhost. localdomain dans la sortie HTML, nous remplaçons donc localhost.localdomain par server1.example.com. Avec cette configuration, le serveur munin est capable de se surveiller. Sans les commentaires, le fichier modifié ressemble à ceci :

vi /etc/munin/munin.conf
dbdir   /var/lib/munin
htmldir /var/www/www.example.com/web/monitoring
logdir  /var/log/munin
rundir  /var/run/munin

tmpldir /etc/munin/templates

[server1.example.com]
    address 127.0.0.1
    use_node_name yes

Ensuite, nous créons le répertoire /var/www/www.example.com/web/monitoring et changeons sa propriété en utilisateur et groupe munin, sinon munin ne peut pas placer sa sortie dans ce répertoire. Ensuite, nous redémarrons munin :

mkdir -p /var/www/www.example.com/web/monitoring
chown munin:munin /var/www/www.example.com/web/monitoring
/etc/init.d/munin-node restart

Attendez maintenant quelques minutes pour que munin puisse produire sa première sortie, puis allez sur http://www.example.com/monitoring/ dans votre navigateur, et vous verrez les premières statistiques. Après quelques jours, cela pourrait ressembler à ceci :

(Ceci n'est qu'un petit extrait des nombreux graphiques que munin produit...)

3 Protéger par mot de passe le répertoire de sortie munin sur le serveur munin (facultatif)

serveur munin (serveur1.exemple.com) :

Maintenant, c'est une bonne idée de protéger par mot de passe le répertoire /var/www/www.example.com/web/monitoring à moins que vous ne vouliez que tout le monde puisse voir toutes les petites statistiques sur votre serveur.

Pour cela, nous créons un fichier .htaccess dans /var/www/www.example.com/web/monitoring :

vi /var/www/www.example.com/web/monitoring/.htaccess
AuthType Basic
AuthName "Members Only"
AuthUserFile /var/www/www.example.com/.htpasswd
<limit GET PUT POST>
require valid-user
</limit>

Ensuite, nous devons créer le fichier de mots de passe /var/www/www.example.com/.htpasswd. Nous voulons nous connecter avec le nom d'utilisateur admin, nous faisons donc ceci :

htpasswd -c /var/www/www.example.com/.htpasswd admin

Entrez un mot de passe pour l'administrateur, et vous avez terminé !

4 Installer et configurer munin sur le client

client munin (serveur2.exemple.com) :

Sur le système client, nous n'avons qu'à installer le package client munin qui s'appelle munin-node :

apt-get install munin-node

Ensuite, nous devons dire au client munin que notre serveur munin server1.example.com avec l'adresse IP 192.168.0.100 est autorisé à se connecter pour récupérer les détails du client. Pour ce faire, nous ouvrons /etc/munin/munin-node.conf et ajoutons la ligne allow ^192\.168\.0\.100$ en bas. Ensuite, le fichier devrait ressembler à ceci :

vi /etc/munin/munin-node.conf
#
# Example config-file for munin-node
#

log_level 4
log_file /var/log/munin/munin-node.log
port 4949
pid_file /var/run/munin/munin-node.pid
background 1
setseid 1

# Which port to bind to;
host *
user root
group root
setsid yes

# Regexps for files to ignore

ignore_file ~$
ignore_file \.bak$
ignore_file %$
ignore_file \.dpkg-(tmp|new|old|dist)$
ignore_file \.rpm(save|new)$

# Set this if the client doesn't report the correct hostname when
# telnetting to localhost, port 4949
#
#host_name localhost.localdomain

# A list of addresses that are allowed to connect.  This must be a
# regular expression, due to brain damage in Net::Server, which
# doesn't understand CIDR-style network notation.  You may repeat
# the allow line as many times as you'd like

allow ^127\.0\.0\.1$
allow ^192\.168\.0\.100$

Enfin, nous redémarrons le client munin :

/etc/init.d/munin-node restart

5 Mettre à jour la configuration du serveur munin

serveur munin (serveur1.exemple.com) :

Maintenant, nous devons dire au serveur munin qu'il y a un autre système à surveiller (server2.example.com avec l'adresse IP 192.168.0.101). Pour ce faire, nous ouvrons /etc/munin/munin.conf et ajoutons une strophe pour server2.example.com afin que le fichier ressemble à ceci :

vi /etc/munin/munin.conf
dbdir   /var/lib/munin
htmldir /var/www/www.example.com/web/monitoring
logdir  /var/log/munin
rundir  /var/run/munin

tmpldir /etc/munin/templates

[server1.example.com]
    address 127.0.0.1
    use_node_name yes

[server2.example.com]
    address 192.168.0.101
    use_node_name yes

Ensuite, nous redémarrons munin :

/etc/init.d/munin-node restart

Après quelques minutes, vous devriez trouver un lien pour server2.example.com sur la page munin (http://www.example.com/monitoring/) :

Lorsque vous cliquez sur ce lien, vous verrez les graphiques pour server2.example.com.

  • munin : http://munin-monitoring.org/

Debian
  1. Déclencher des commandes sur les modifications de fichiers/répertoires avec Incron sur Debian Etch

  2. Création d'hôtes virtuels simples avec mod_mysql_vhost sur Lighttpd (Debian Etch)

  3. Stockage distribué sur quatre nœuds de stockage avec GlusterFS sur Debian Lenny

  4. Annonces forcées sur ISPConfig avec Debian Etch

  5. Construire Kali avec Live-Build sur des systèmes basés sur Debian

Surveillance du serveur avec munin et monit sur CentOS 5.2

Surveillance de serveur avec Munin et Monit sur CentOS 7

Surveillance de serveur avec Munin et Monit sur CentOS 7.2

Surveillance du serveur avec munin et monit sur Fedora 7

Synchroniser des fichiers entre plusieurs systèmes avec Syncthing

Comment installer plusieurs versions de PHP avec Apache sur Debian 11/10