check_by_ssh

Pour effectuer des check_by_ssh avec Nagios, il faut au préalable procéder à l'échange de clés entre le serveur nagios et l'hôte supervisé.

Sur le serveur nagios, se placer dans le répertoire de départ de Nagios et entrer la commande suivante : Il faut être passé en utilisateur Nagios pour faire cette manip.

cd /usr/local/nagios
mkdir .ssh
ssh-keygen -b 2048 -t rsa

le terminal renvoie alors

Generating public/private rsa key pair.
Enter file in which to save the key (/user/lcoal/nagios/.ssh/id_rsa):

Appuyer trois fois sur entrée pour valider la création de cette double clé public privé.

Ensuite, créer un répertoire ssh dans le répertoire de départ de la machine serveur distante si il n'existe pas gràce à la commande :

ssh user@serveur_distant "mkdir .ssh; chmod 0700 .ssh"

Enfin, envoyer la partie publique de la clé créée sur la machine locale avec

scp .ssh/id_rsa.pub user@machine_distante:.ssh/authorized_keys2

ATTENTION : Sous peine de se prendre des erreurs à la connexion, les autorisations sur les répertoires et fichiers doivent être strictement positionnés comme suit (à exécuter en tant que utilisateur nagios):

chmod go-w ~/
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

Maintenant, l'utilisateur nagios peut se connecter à l'hôte à superviser sans mot de passe

Définition de commande

# 'check_ssh_smtp' command definition
define command{
        command_name    check_ssh_smtp
        command_line    $USER1$/check_by_ssh -H $HOSTADDRESS$ -i $USER6$ -C "$USER1$/check_smtp -H 127.0.0.1"
        }

:!: Pour que cette commande fonctionne correctement, il est à noter que le répertoire libexec 1) qui est défini par la variable $USER1$ doit être situé au même endroit sur le serveur Nagios et l'hôte supervisé. la macro nagios $USER6$ contient la clef qui va être utilisée lors de l'appel ssh comme /home/ojan/.ssh/id_rsa par exemple.

Définition de service

define service{
        use                             ssh-service         ; Name of service template to use
        host_name                       *
        service_description             MAIL:SMTP
        check_command                   check_ssh_smtp!
        }
1) généralement en /usr/local/nagios/libexec
 
nagios/plugins/check_by_ssh.txt · Dernière modification: 2008/11/26 22:20 par ojan
 

N’hésitez pas à nous contacter et/ou à créer un compte et vous connecter pour corriger toute erreur éventuelle dans ce wiki. Merci.

Recent changes RSS feed Creative Commons License Valid XHTML 1.0 Valid CSS Driven by DokuWiki