/usr/share/munin/plugins/ mais seuls ceux qui sont liés dans /etc/munin/plugins/ sont réellement employés.
/etc/munin/plugins/ is therefore a good way of getting an idea of what each plugin is about and determining which should be removed. Similarly, enabling an interesting plugin found in /usr/share/munin/plugins/ is a simple matter of setting up a symbolic link with ln -sf /usr/share/munin/plugins/plugin /etc/munin/plugins/. Note that when a plugin name ends with an underscore “_”, the plugin requires a parameter. This parameter must be stored in the name of the symbolic link; for instance, the “if_” plugin must be enabled with a if_eth0 symbolic link, and it will monitor network traffic on the eth0 interface.
allow directives in the /etc/munin/munin-node.conf file. The default configuration is allow ^127\.0\.0\.1$, and only allows access to the local host. An administrator will usually add a similar line containing the IP address of the grapher host, then restart the daemon with 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/ are a good source of information on how they work.
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 hostgroup. The matching standard service is defined in /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.