Surveillez ssh sur un port non par défaut avec Nagios

10

Je viens de déployer Nagios sur un serveur Gentoo et tout va bien sauf ssh, qu'il marque comme "CRITICAL" car il refuse les connexions. Mais c'est parce qu'il fonctionne sur un port différent de celui par défaut 22. Comment puis-je le changer pour qu'il surveille le bon port?

Helder S Ribeiro
la source

Réponses:

6
host:~$ /usr/lib/nagios/plugins/check_ssh --help
check_ssh v1991 (nagios-plugins 1.4.12)
Copyright (c) 1999 Remi Paulmier <[email protected]>
Copyright (c) 2000-2007 Nagios Plugin Development Team
        <[email protected]>

Try to connect to an SSH server at specified server and port


Usage:check_ssh [-46] [-t <timeout>] [-r <remote version>] [-p <port>] <host>

Est-ce que cela répond à votre question? Le paramètre -p vous permet de spécifier le port, de faire une vérification personnalisée dans /etc/nagios/nrpe.cfg et de le mettre:

command[check_remote_ssh]= /usr/lib/nagios/plugins/check_ssh -p 1234 some.host
pQd
la source
1
Ça a marché! Dans mon cas , il était local check_sshà /etc/nagios/objects/commands.cfg. Merci pour votre aide :)
Helder S Ribeiro
15

Dans ssh pluging config /etc/nagios-plugins/config/ssh.cfg, il y a un alias nommé check_ssh_port. s'il n'existe pas vous pouvez le définir comme ci-dessus:


$ cat >> /etc/nagios-plugins/config/ssh.cfg
define command{
        command_name    check_ssh_port
        command_line    /usr/lib/nagios/plugins/check_ssh -p '$ARG1$' '$HOSTADDRESS$'
        }

dans le fichier de service /etc/nagios3/conf.d/services_nagios2.cfg, définissez votre service ssh à surveiller comme ceci:


define service {
        hostgroup_name                  ssh2-servers
        service_description             SSH2
        check_command                   check_ssh_port!12000!server
        use                             generic-service
        notification_interval           240 ; set > 0 if you want to be renotified
}
remplacez 12000 par votre port ssh par défaut et votre serveur par votre cible.

Ali Mezgani
la source
+1 bien écrit pour la dernière version de nagios (en ce moment)
cwd
6

Comme aucune des solutions ci-dessus n'a fonctionné pour moi, je publierai cette petite variation.

Cette définition est celle par défaut (par exemple:) localhost.cfgavec le seul ajout de l'option -p et de l'espace entre les deux.

Je suppose que c'est une version hybride de deux des solutions proposées.

Il fonctionne sur Nagios Core 4 avec nagios-plugins 2.1.1

define service{
        use                             local-service         ; Name of service template to use
        host_name                       localhost
        service_description             SSH
        check_command                   check_ssh!-p 12345
        notifications_enabled           1
        }
cortopie
la source
Il peut également être modifié / configuré dans l'interface Web de Nagios4: Système -> Configuration , puis en ajoutant le point d'exclamation et les options de ligne de commande check_ssh!-p 123456, par exemple.
ILMostro_7
3

Vous pouvez également définir le deuxième paramètre, "serveur", dans le paramètre host_name de cette façon:

    define host{
        use                     generic-host            ; Name of host template to use
        host_name               host
        alias                   host
        address                 92.193.170.124
}


# Define a service to check if ssh services are running
define service {
        use                     generic-service         ; Name of service template to use
        host_name               host
        service_description     SSH Port 4959
        check_command           check_ssh_port!4959
        notification_interval   0 ; set > 0 if you want to be renotified
}

Ainsi, si l'adresse de l'hôte change, vous ne devez modifier ce paramètre qu'une seule fois, pour tous les services définis pour cet hôte.

aneolf
la source
0
define service{
        use                     generic-service
        host_name               localhost
        service_description     SSH
        check_command           check_ssh!-p 9898
        }

fonctionne correctement, vous pouvez l'essayer.

Rajib khan
la source