/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.