Ceci est une ancienne révision du document !
Pour superviser des hôtes sous GNU/LINUX via ssh:
Créer l'utilisateur nagios sur le système à superviser. Nous allons définir un mot de passe temporaire. L'authentification par mot de passe sera désactivée par la suite:
useradd --create-home nagios passwd nagios
Pour pouvoir lire les métriques du système distant ou exécuter les scripts, le serveur nagios doit s'authentifier auprès de l’hôte cible via l'utilisateur nagios et une paire de clés dédiées.
Sur le serveur nagios
Si l'utilisateur nagios exécutant le service ne possède pas de home:
# générer le home utilisateur pour un utilisateur préexistant sudo mkhomedir_helper nagios
Exécuter un shell en tant que nagios et générer une paire de clés:
su - nagios mkdir .ssh ssh-keygen -t rsa -b 4096 -C nagios@mairie.local -f id_nagios_rsa
Une fois la clé générée, on copie la clé publique sur l’hôte à superviser:
ssh-copy-id -i id_nagios_rsa.pub nagios@hote-a-superviser.lan
De nouveau sur l’hôte à superviser, on désactive l'authentification par mot de passe pour ssh en modifiant le fichier de configuration du service sshd /etc/ssh/sshd_config
Match User nagios
PasswordAuthentication no
On désactive l'authentification par mo de passe
Sur le serveur de supervision, les scripts peuvent être appelés depuis le shell pour tests:
su - nagios cd /usr/lib/nagios/plugins ./check_by_ssh -l nagios -i /home/nagios/.ssh/id_nagios_rsa -H hostname.domain -C "uptime"
Pour que les plugins soient disponibles sur l' hôte à superviser:
sudo apt-get install nagios-plugins
Les scripts sont installés sur l’hôte à superviser dans le dossier /usr/lib/nagios/plugins/. Ils devront être appelés par le serveur de supervision:
Dasn l'exemple ci-dessous depuis le serveur de supervision, on appelle le script check
su - nagios cd /usr/lib/nagios/plugins ./check_by_ssh -l nagios -i /home/nagios/.ssh/id_nagios_rsa -H hostname.domain -C "/usr/lib/nagios/plugins/check_disk -w 80% -c 90% -p / -m"