Actions

 Langue:
 Flux RSS:


Lancer des contrôles distants via ssh


Une des fonctionalités intéressante de Nagios est de pouvoir lancer des contrôles distants sans installer d'agent.

 

Cela permet, dans le cadre d'un installation domotique, par exemple, de garder beaucoup de souplesse dans le déploiement, et de ne pas consommer de la mémoire sur les serveurs distants (raspberry ou autres).

 

Pour lancer des contrôles via ssh, il faut générer une clé ssh depuis le serveur Nagios.

su - nagios

Puis lancer la commande:

ssh-keygen

Puis de se rendre dans le répertoire dans lequel la clé a été générée

cd ~/.ssh

Puis lancer la copie de la clé sur le serveur que l'on veut superviser:

ssh-copy-id -i ~/.ssh/id_rsa.pub nagios@client_IP

 

Deux options s'offrent à vous.

  • La méthode traditionnelle, qui consiste à créer un compte nagios sur chaque serveur à superviser, et d'installer le package nagios-plugins, afin de pouvoir lancer les scripts de supervision sur le serveur distant
  • Modifier la commande check_by_ssh, pour spécifier le nom d'utilisateur et le port de connexion ssh, afin d'utiliser un compte utilisateur standard pour superviser. Il vous faudra alors copier les quelques scripts shell ou perl utilisés par Nagios, ou ceux que l'on peut trouver sur le site nagiosexchange et les déposer dans un répertoire sur le serveur distant. L'avantage de cette méthode étant plus de souplesse de supervision.

La méthode traditionnelle

Pour utiliser la méthode traditionnelle, c'est simple, il vous suffit d'utiliser le plugin check_by_ssh inclus de base dans les plugins nagios (via le package nagios-plugins).

Méthode via la modification de la déclaration du plugin check_by_ssh

Pour utiliser la seconde méthode, vous allez devoir créer une commande spécifique.

Pour cela, il faut ajouter la déclaration de la commande dans le fichier commands.cfg:

# 'check_by_ssh' command definition
define command{
    command_name    check_by_ssh
    command_line    $USER1$/check_by_ssh -H $HOSTADDRESS$ -l "$ARG1$" -p "$ARG2$" -C "$ARG3$"
}

Puis dans le fichier de configuration de votre serveur, il faut ajouter la ligne:

define service{
    use            generic-service
    host_name        domoticz
    service_description    Load: Current
    check_command        check_by_ssh!pi!22!/home/pi/Scripts/bin/nagios_check_cpu.sh -w 70 -c 80
    check_interval        15
    retry_interval        5
}

Via cette méthode, on ajoute deux paramètres au check, qui sont le nom d'utilisateur, et le port de connexion.

 

 

 

Retour