Comment installer l’outil de surveillance Munin sur Debian 8

introduction

Munin est une application de surveillance des systèmes, des réseaux et des infrastructures qui fournit des informations sous forme de graphiques via un navigateur Web. Il est conçu autour d’une architecture client-serveur et peut être configuré pour surveiller la machine sur laquelle il est installé (le maître Munin) et n’importe quel nombre de machines client, appelées _Munin node.

Dans cet article, nous allons installer et configurer Munin pour surveiller le serveur sur lequel il est installé et un nœud. Pour installer Munin sur plusieurs nœuds, suivez simplement les instructions pour créer un nœud sur chaque système.

Conditions préalables

  • Deux gouttelettes Debian 8.1

  • Pour chaque Droplet, un utilisateur non root avec les privilèges sudo

Sauf indication contraire, toutes les commandes de ce didacticiel doivent être exécutées en tant qu’utilisateur non root avec les privilèges sudo. Pour apprendre à créer des utilisateurs et leur accorder des privilèges sudo, consultez la page Initial Initial Server avec Debian 8.

Étape 1 - Installation des packages requis

Nous allons commencer par travailler sur le maître Munin. Avant d’installer Munin, quelques dépendances doivent être installées.

Bien que Munin puisse fonctionner avec la plupart des serveurs Web populaires tels que Nginx et Lighttpd, il est conçu par défaut pour fonctionner avec le serveur Web Apache. Assurez-vous donc qu’Apache est installé et configuré sur le maître Munin. S’il n’est pas déjà installé, utilisez les méthodes suivantes:

sudo apt-get update
sudo apt-get install -y apache2
  • Pour vous assurer que la fonctionnalité dynazoom responsable du zoom sur les graphiques générés fonctionne correctement au clic, installez les éléments suivants:

sudo apt-get install -y libcgi-fast-perl libapache2-mod-fcgid

Après avoir installé ces deux paquets, le module + fcgid + aurait dû être activé. Pour revérifier, tapez:

/usr/sbin/apachectl -M | grep -i cgi

Le résultat devrait être:

fcgid_module (shared)

Si la sortie est vide, elle n’est pas activée. Vous pouvez alors l’activer en utilisant:

sudo a2enmod fcgid

Lors de l’exécution de la commande + apachectl +, vous pouvez ignorer l’avertissement suivant:

Could not reliably determine the server's fully qualified domain name ...

Apache continuera à travailler avec Munin avec cet avertissement.

Le reste de la configuration qui assurera le bon fonctionnement du zoom sur les graphes sera traité à l’étape 3.

Étape 2 - Installer Munin sur le Munin Master

Les paquets d’installation de Munin sont disponibles dans le référentiel Debian, ce qui permet de l’installer à l’aide du gestionnaire de paquets de la distribution. Dans cette étape, vous installerez le package principal Munin à partir de la branche stable. La version du référentiel Debian, Munin 2.0.25, est identique à la dernière version stable.

Pour l’installer, tapez:

sudo apt-get install -y munin

Étape 3 - Configuration du maître Munin

Le fichier de configuration principal du maître Munin + munin.conf + et les autres fichiers nécessaires à son fonctionnement se trouvent dans le répertoire + / etc / munin + et ses sous-répertoires.

Le fichier de configuration est composé d’au moins deux sections: une section * globale * et au moins une section * hôte *. Facultativement, il peut y avoir une section * groupe *. Les sections hôte et groupe commencent par leurs noms respectifs entre crochets. Ce fichier contient les définitions de variables, les directives régissant la manière dont Munin surveille les serveurs et les services, ainsi que les serveurs à surveiller.

Pour commencer à le modifier:

cd /etc/munin
sudo nano munin.conf

Recherchez ces lignes et décommentez-les. En d’autres termes, supprimez le signe * # * qui les précède. Le * dbdir * stocke tous les fichiers rrd contenant les informations de surveillance réelles; * htmldir * stocke les images et les fichiers du site; * logdir * maintient les journaux; * rundir * contient les fichiers d’état; et * tmpldir * est l’emplacement des modèles HTML. Assurez-vous de changer le répertoire htmldir + / var / cache / munin / www + en votre répertoire Web. Dans cet exemple, nous utiliserons + / var / www / munin +:

/etc/munin/munin.conf

dbdir     /var/lib/munin
htmldir
logdir    /var/log/munin
rundir    /var/run/munin
...
tmpldir /etc/munin/templates

Comme le fichier + htmldir + n’existe pas, créons et modulons-le afin qu’il soit la propriété de l’utilisateur du système + munin +:

sudo mkdir /var/www/munin
sudo chown munin:munin /var/www/munin

Enfin, recherchez le premier arbre hôte dans + munin.conf +. Il devrait lire:

/etc/munin/munin.conf

[localhost.localdomain]
   address 127.0.0.1
   use_node_name yes

Remplacez le nom de cette arborescence par un identifiant unique du serveur. Dans cet exemple, nous utiliserons * MuninMaster *:

/etc/munin/munin.conf

[]
   address 127.0.0.1
   use_node_name yes

C’est tout pour le fichier de configuration, alors sauvegardez-le et fermez-le.

Dans le même répertoire + / etc / munin +, le prochain fichier que nous allons modifier est + apache24.conf +, qui est le fichier de configuration de Munin Apache 2.4. Il est lié de manière symétrique à + ​​/ etc / apache2 / conf-available / munin.conf +. Pour commencer à le modifier, ouvrez-le avec + nano +:

sudo nano apache24.conf

Tout en haut du fichier, modifiez la première ligne afin qu’elle reflète le chemin * htmldir * que vous avez spécifié dans + munin.conf + et créé précédemment. Selon le chemin de répertoire utilisé dans cet article, il devrait se lire comme suit, ce qui vous permettra d’accéder à l’interface Web de Munin en ajoutant * munin * à l’adresse IP ou au domaine du serveur hébergé sur le serveur:

/etc/munin/apache24.conf

Alias /munin

Pour vous assurer d’avoir accès à distance à l’interface Web de Munin, supprimez la section Répertoire et remplacez-la par ceci:

/etc/munin/apache24.conf

<Directory /var/www/munin>
       Require all granted
       Options FollowSymLinks SymLinksIfOwnerMatch
</Directory>

Faites la même chose avec la dernière section d’emplacement. Supprimez la ligne + Require local + et remplacez-la par la suivante:

/etc/munin/apache24.conf

<Location /munin-cgi/munin-cgi-graph>


       ...
</Location>

Enregistrez et fermez le fichier. Puis redémarrez Munin et Apache:

sudo systemctl restart munin-node
sudo systemctl restart apache2

Vous pouvez maintenant accéder à l’interface Web de Munin en pointant votre navigateur Web sur / munin

Étape 4 - Ajouter un nœud au maître Munin

Dans cette étape, nous montrerons comment ajouter un nœud au maître Munin. Cela implique de modifier le fichier de configuration du maître Munin afin de spécifier une arborescence hôte pour le nœud, d’installer le package de nœuds Munin sur le nœud et de modifier son fichier de configuration de sorte qu’il puisse être surveillé par le maître Munin.

Commençons par le nœud Munin - l’autre Droplet Debian 8 que vous avez créé.

Connectez-vous au * noeud Munin *, mettez à jour la base de données du paquet et installez le paquet du noeud Munin:

sudo apt-get update
sudo apt-get install -y munin-node

Une fois l’installation terminée, la configuration du noeud doit figurer dans le répertoire + / etc / munin +. Ouvrez-le avec + nano +:

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

Vers le milieu du fichier, recherchez une ligne * allow ^ 127.0.0.1 $ * et modifiez-la afin qu’elle reflète l’adresse IP du maître Munin. Notez que l’adresse IP est au format regex. Par conséquent, si l’adresse IP du serveur maître est 123.46.78.100, la ligne doit indiquer:

/etc/munin/munin-node.conf

allow

Enregistrez et fermez le fichier. Puis redémarrez le Munin:

sudo systemctl restart munin-node

De retour sur le * maître Munin *, ouvrez le fichier de configuration principal:

sudo nano /etc/munin/munin.conf

Tout ce que nous devons faire dans ce fichier est d’insérer une arborescence d’hôte pour le nœud (distant). La méthode la plus simple consiste à copier et à modifier l’arborescence hôte du maître. Assurez-vous de remplacer l’adresse IP du nœud que vous ajoutez:

[]
   address
   use_node_name yes

Enregistrez et fermez le fichier. Puis redémarrez Apache:

sudo systemctl restart apache2

Munin vérifie la présence de nouveaux nœuds toutes les 5 minutes. Patientez quelques minutes, puis rechargez l’interface Web du maître Munin. Vous devriez voir une entrée pour le noeud. Si vous ne le voyez pas encore, réessayez dans 5 minutes. En utilisant cette méthode, vous pouvez ajouter autant de nœuds que vous devez surveiller.

image: https: //assets.digitalocean.com/articles/munin_installing/MuninNode2.png [Noeud Munin ajouté]

Étape 5 - Activer des plugins supplémentaires

Munin surveille un système à l’aide de scripts de plug-in. Par défaut, environ une douzaine de plug-ins sont installés et actifs. Une liste complète des plugins disponibles se trouve dans le répertoire + / usr / share / munin / plugins +. Pour voir quels plugins peuvent être utilisés sur votre système, Munin fournit la commande suivante:

sudo munin-node-configure --suggest

La sortie devrait être de cette sorte:

Plugin                     | Used | Suggestions
------                     | ---- | -----------
cps_                       | no   | no
cpu                        | yes  | yes
cpuspeed                   | no   | no [missing /sys/devices/system/cpu/cpu0/cpufreq/stats/time_in_state]
cupsys_pages               | no   | no [could not find logdir]
df                         | yes  | yes
df_inode                   | yes  | yes
fail2ban                   | no   | yes
ip_                        | no   | yes

Un plugin avec un * oui * dans la colonne Used signifie exactement ce qu’il indique, tandis qu’un plugin avec un * oui * dans la colonne Suggestions signifie qu’il peut être utilisé. Un avec un * non * sur les deux colonnes signifie qu’il n’est pas utilisé et ne peut pas être utilisé sur le système. Enfin, si un plugin a un * non * dans la colonne Used et un * oui * dans le Suggestions, il n’est pas utilisé, mais peut être activé et utilisé sur le système.

Sur le maître et le nœud Munin, vous pouvez également voir une liste des plugins installés dans le répertoire + / etc / munin / plugins +.

Un paquetage + munin-plugins-extra + aurait dû être installé lors de l’installation de Munin. Si ce n’était pas le cas, utilisez-le.

sudo apt-get install munin-plugins-extra

Pour activer un plug-in disponible qui n’est pas utilisé, créez un lien symbolique depuis le répertoire + / usr / share / munin / plugins + dans le répertoire + / etc / munin / plugin +.

Par exemple, pour activer le plugin Fail2ban, commencez par installer Fail2ban:

sudo apt-get install fail2ban

Ensuite, créez le lien symbolique qui active le plugin Munin:

sudo ln -s /usr/share/munin/plugins/fail2ban /etc/munin/plugins

Redémarrer Munin:

sudo systemctl restart munin-node

Attendez quelques minutes, rechargez l’interface Web et vous devriez voir des graphiques pour Fail2ban sous le titre * Hôtes mis en liste noire par fail2ban * sous la catégorie * réseau * pour le maître Munin.

Dépannage

Si vous ne parvenez pas à configurer le maître Munin, le nœud Munin ou à demander au maître de voir le nœud, consultez les fichiers journaux pour les messages d’erreur:

  • Maître Munin: + / var / log / munin / munin-update.log +

  • Nœud Munin: + / var / log / munin / munin-node.log +

Vous pouvez également consulter la page project pour obtenir des conseils de dépannage supplémentaires.

Conclusion

Munin peut être configuré pour surveiller le système sur lequel il est installé. Ajouter des serveurs distants au système surveillé est aussi simple que d’installer le paquetage + munin-node + sur le serveur (ou noeud) distant, puis de modifier les fichiers de configuration du serveur et du noeud pour qu’ils pointent vers l’autre adresse IP.

Munin fonctionne en utilisant des plugins, mais tous ne sont pas activés immédiatement. Des informations sur les plugins sont disponibles sur la page project.