Comment utiliser la commande check_by_ssh

Résolu/Fermé
mamas - 22 juil. 2009 à 10:22
 Didius54 - 20 janv. 2016 à 15:03
Bonjour à tous,

J'ai réussi à faire fonctionner la commande check_by_ssh sur nagios (commande qui permet de se connecter sur une machine linux distante et de monitorer 1 ou plusieurs hôtes). Et je voulais vous faire partager mon petit tuto pour ceux qui galère.

Supervision par la commande check_by_ssh :

check_by_ssh

Toutes les commandes ci-dessous se font sous l’utilisateur nagios :

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
cd /usr/local/nagios
mkdir .ssh
ssh-keygen -b 2048 -t rsa ou ssh-keygen -b 1024 -t dsa

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é publique privée(ne créer pas de passe phrase).

Sur le serveur distant :

- sur la machine distante, installez le paquet nagios-plugins
apt-get install nagios-plugins
- créer l’utilisateur nagios et son répertoire avec la commande suivante :
useradd –d /usr/local/nagios nagios : l’option –d va créer automatiquement le répertoire nagios qui aura pour racine /usr/local/nagios et ayant les droits nagios :
- Créer respectivement les répertoires nagios et libexec dans /usr/local/ et copier les commandes se trouvant /usr/lib/nagios/plugins dans /usr/local/nagios/libexec/
cp /usr/local/nagios/libexec/* /usr/local/nagios/libexec/
Attribuer récursivement l’user et le group nagios au répertoire /usr/local/ avec la commande suivante
chown –R nagios:nagios /usr/local/
Créer un mot de passe pour cet utilisateur en tapant la commande :

passwd nagios « attention cette commande et à taper en root, n’oublier de retourner à l’utilisateur nagios après cette opération ».
- créer un répertoire .ssh dans le répertoire /home/nagios/ de la machine distante si il n'existe pas.
cd /home/nagios/ mkdir .ssh ou ssh nagios@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

On va vous demander le mdp de nagios. Se sera la seule fois où on vous le demandera. Se mdp autorise le serveur local à se connecter et à déposer le fichier authorized_keys2 dans le dossier .ssh du serveur distant.

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_keys2
Maintenant, l'utilisateur nagios peut se connecter à l'hôte à superviser sans mot de passe
Pour vérifier, tapez depuis la machine locale, la commande suivante :
ssh -l nagios ip de la machine distante ou ssh user@ip de la machine distante
Vous devriez vous connecter sans que l’on vous demande de mot de passe.
Si tel est le cas, passez à l’étape suivante, sinon revenez sur les explications ci-dessus.

Dans commands.cfg

# 'check_ssh_disk' command definition
define command{
command_name check_ssh_disk
command_line $USER1$/check_by_ssh -H $HOSTADDRESS$ -i /usr/local/nagios/.ssh/id_dsa -l nagios -C "$USER1$/check_disk -w $ARG1$ -c $ARG2$ -p $ARG3$"

}

$HOSTADDRESS$ = ip publique du serveur distant
127.0.0.1 = ip local du serveur distant (pour les autres machines appartenant au même segment LAN, il faut remplacer cette ip par l’ip de la machine à supervisé 192.168.xxx.xxx)

Dans hosts.cfg

define host{
use linux-server
host_name SERVEUR-ASTERISK
address xxx.xxx.xxx.xxx
}

Dans services.cfg

define service{
use local-service ; Name of service template to use
host_name SERVEUR-ASTERISK
service_description Espace disque hda1
check_command check_ssh_disk!20%!10%!/dev/hda1
notifications_enabled 0
}
A voir également:

2 réponses

blob37 Messages postés 2682 Date d'inscription lundi 19 mars 2007 Statut Membre Dernière intervention 3 juin 2019 326
22 juil. 2009 à 10:32
Merci.
0
bof ....
0
passwd nagios « attention cette commande et à taper en root, n’oublier de retourner à l’utilisateur nagios après cette opération ».

En faisant simplement "passwd" pas besoin de root
0