/usr/share/munin/plugins/
mais seuls ceux qui sont liés dans /etc/munin/plugins/
sont réellement employés.
/etc/munin/plugins/
pour supprimer les greffons inutiles. De même, on peut activer un greffon intéressant repéré dans /usr/share/munin/plugins/
avec une commande ln -sf /usr/share/munin/plugins/greffon /etc/munin/plugins/
. Attention, les greffons dont le nom se termine par un tiret souligné (_) sont particuliers, ils ont besoin d'un paramètre. Celui-ci doit être intégré dans le nom du lien symbolique créé (par exemple le greffon if_
sera installé avec un lien symbolique if_eth0
pour surveiller le trafic sur l'interface réseau eth0
).
/etc/munin/munin-node.conf
avec une directive allow
. Par défaut, on trouve allow ^127\.0\.0\.1$
qui n'autorise l'accès qu'à l'hôte local. Il convient d'ajouter une ligne similaire contenant l'adresse IP de la machine qui va assumer le rôle de grapheur puis de relancer le démon avec service munin-node restart
.
munin-cron
toutes les 5 minutes. Ce dernier collecte les données depuis toutes les machines listées dans /etc/munin/munin.conf
(uniquement l'hôte local par défaut), stocke les historiques sous forme de fichiers RRD (Round Robin Database est un format de fichier adapté au stockage de données variant dans le temps) dans /var/lib/munin/
et régénère une page HTML avec des graphiques dans /var/cache/munin/www/
.
/etc/munin/munin.conf
pour y ajouter toutes les machines à surveiller. Chaque machine se présente sous la forme d'une section complète portant son nom et contenant une entrée address
qui indique l'adresse IP de la machine à superviser.
[ftp.falcot.com] address 192.168.0.12 use_node_name yes
/var/cache/munin/www/
par l'intermédiaire d'un site web. On choisira généralement de restreindre l'accès soit à l'aide d'un système d'authentification, soit en fournissant une liste d'adresses IP autorisées à consulter ces informations. La Section 11.2, « Serveur web (HTTP) » fournit les explications nécessaires.
nagiosadmin
(dont le mot de passe vient d'être saisi) peut y accéder. Il est possible d'ajouter d'autres utilisateurs en les insérant dans le fichier /etc/nagios3/htpasswd.users
à l'aide de la commande htpasswd
de Apache. Si aucune question debconf n'est apparue au cours de l'installation, il est possible d'exécuter dpkg-reconfigure nagios3-cgi
pour définir le mot de passe de l'utilisateur nagiosadmin
.
http://serveur/nagios3/
, on découvre l'interface web et l'on peut constater que Nagios surveille déjà certains paramètres de la machine sur laquelle il fonctionne. Cependant, en essayant d'utiliser certaines fonctionnalités interactives comme l'ajout de commentaires concernant un hôte, on constate qu'elles ne fonctionnent pas. Par défaut, Nagios est effectivement configuré de manière très restrictive (pour plus de sécurité) et ces fonctionnalités sont désactivées.
/usr/share/doc/nagios3/README.Debian
on comprend qu'il faut éditer /etc/nagios3/nagios.cfg
et positionner le paramètre check_external_commands
à « 1 ». Puis il faut changer les permissions d'écriture sur un répertoire employé par Nagios avec ces quelques commandes :
#
service nagios3 stop
[...] #
dpkg-statoverride --update --add nagios www-data 2710 /var/lib/nagios3/rw
#
dpkg-statoverride --update --add nagios nagios 751 /var/lib/nagios3
#
service nagios3 start
[...]
/etc/nagios3/nagios.cfg
.
/etc/nagios3/conf.d/
permet de se familiariser avec ceux-ci.
Exemple 12.3. Fichier /etc/nagios3/conf.d/falcot.cfg
define contact{ name generic-contact service_notification_period 24x7 host_notification_period 24x7 service_notification_options w,u,c,r host_notification_options d,u,r service_notification_commands notify-service-by-email host_notification_commands notify-host-by-email register 0 ; Template only } define contact{ use generic-contact contact_name rhertzog alias Raphael Hertzog email hertzog@debian.org } define contact{ use generic-contact contact_name rmas alias Roland Mas email lolando@debian.org } define contactgroup{ contactgroup_name falcot-admins alias Falcot Administrators members rhertzog,rmas } define host{ use generic-host ; Name of host template to use host_name www-host alias www.falcot.com address 192.168.0.5 contact_groups falcot-admins hostgroups debian-servers,ssh-servers } define host{ use generic-host ; Name of host template to use host_name ftp-host alias ftp.falcot.com address 192.168.0.6 contact_groups falcot-admins hostgroups debian-servers,ssh-servers } # commande 'check_ftp' avec paramètres personnalisés define command{ command_name check_ftp2 command_line /usr/lib/nagios/plugins/check_ftp -H $HOSTADDRESS$ -w 20 -c 30 -t 35 } # Service générique à Falcot define service{ name falcot-service use generic-service contact_groups falcot-admins register 0 } # Services à vérifier sur www-host define service{ use falcot-service host_name www-host service_description HTTP check_command check_http } define service{ use falcot-service host_name www-host service_description HTTPS check_command check_https } define service{ use falcot-service host_name www-host service_description SMTP check_command check_smtp } # Services à vérifier sur ftp-host define service{ use falcot-service host_name ftp-host service_description FTP check_command check_ftp2 }
ssh-servers
. Le service standard correspondant est défini dans /etc/nagios3/conf.d/services_nagios2.cfg
.
use nom-parent
. Pour identifier un objet dont on veut hériter, il faut lui attribuer une propriété name identifiant
. Si l'objet parent n'est pas un objet réel, mais est uniquement destiné à servir de rôle de parent, on lui ajoute la propriété register 0
qui indique à Nagios de ne pas le considérer et donc d'ignorer l'absence de certains paramètres normalement requis.