Linux:Configuration de Nagios
De WIKI.minetti.org
Sommaire
But
Nagios est un logiciel de supervision qui permet de faire de la surveillance réseau en temps réel.
Étape préliminaire
Avant de commencer, il est impératif:
- de disposer d'un serveur LDAP,
- d'avoir configuré et testé l'accès client vers le LDAP (voir Configuration du client LDAP),
- et de disposer d'un serveur Apache HTTP correctement configuré (idéalement, avec un accès SSL) et paramétré pour faire de l'authentification LDAP.
Installation
- Taper la commande suivante pour installer Nagios sur une CentOS/RedHat/Fedora:
yum install nagios nagios-plugins-*
Configuration
- Editer le fichier /etc/httpd/conf.d/nagios.conf pour autoriser le accès à partir du LAN:
... Order deny,allow Deny from all Allow from 192.168.0.0/24 ...
- Toujours dans le même fichier, ajouter les directives permettant d'authentifier les utilisateurs à travers le LDAP (voir Apache avec une authentification via un LDAP):
... # Authentification LDAP AuthName "Nagios Access" AuthType Basic AuthBasicProvider ldap AuthzLDAPAuthoritative off AuthLDAPUrl ldap://ldap.srv.minetti.org/dc=minetti,dc=org?uid?sub?(&(objectClass=*)(!(loginShell=/bin/false))) STARTTLS AuthLDAPBindDN "cn=httpd,ou=sysaccount,ou=localnet,dc=minetti,dc=org" AuthLDAPBindPassword "......." # Autorisation LDAP AuthLDAPGroupAttribute memberUid AuthLDAPGroupAttributeIsDN off require ldap-group cn=administrators,ou=group,ou=localnet,dc=minetti,dc=org ...
- Editer le fichier /etc/nagios/cgi.cfg et modifier les lignes suivantes:
authorized_for_system_information=* authorized_for_configuration_information=* authorized_for_system_commands=* authorized_for_all_services=* authorized_for_all_hosts=* authorized_for_all_service_commands=* authorized_for_all_host_commands=*
- Paramétrer les différents contacts dans le fichier /etc/nagios/objects/contacts.cfg.
- Paramétrer les différents éléments du réseau en ajoutant le fichier /etc/nagios/objects/minetti.cfg:
TODO
- Modifier le fichier /etc/nagios/nagios.cfg pour:
- TODO
- Lancer le démon de Nagios:
service nagios start
- Et faire en sorte qu'il démarre automatiquement:
ntsysv
Plug-in nagios-plugins-ldap
Pour pouvoir utiliser le plug-ins nagios-plugins-ldap, il est impératif:
- de mettre une copie du fichier .ldaprc dans /var/spool/nagios (répertoire HOME du démon nagios):
cd /var/spool/nagios cp /root/.ldaprc . chown nagios.nagios .ldaprc
- ajouter le fichier /usr/lib/nagios/plugins/check_ldaps.sh:
#!/bin/sh export HOME=/var/spool/nagios /usr/lib/nagios/plugins/check_ldaps $@
- le rendre exécutable (notamment par SELinux):
chmod 755 /usr/lib/nagios/plugins/check_ldaps.sh chcon -R -u system_u /usr/lib/nagios/plugins/check_ldaps.sh semanage fcontext -a -t bin_t '/usr/lib/nagios/plugins/check_ldaps.sh' restorecon -R -v /usr/lib/nagios/plugins/check_ldaps.sh
- et donner les autorisations SELinux:
grep check_ldap /var/log/audit/audit.log | audit2allow -M check_ldap semodule -i check_ldap.pp
Plug-in pour Samba
Pour pouvoir tester les services NetBIOS:
- commencer par récupérer le plug-in check_smb,
- adapter le script du plug-in (concernant notamment le nom de l'utilisateur invité lors de l'appel de la commande smbclient),
- le rendre exécutable:
chmod 755 /usr/lib/nagios/plugins/check_smb chcon -R -u system_u /usr/lib/nagios/plugins/check_smb
- ajouter la commande dans le fichier /etc/nagios/objects/commands.cfg:
# 'check_smb' command definition define command{ command_name check_smb command_line $USER1$/check_smb -H $HOSTADDRESS$ }