Nagios check_ssh retorna informações de uso em vez de status

2

Instalei o Nagios em um desktop Ubuntu (servidor Nagios) e quero monitorar uma instância do servidor Ubuntu (cliente monitorado). Eu posso conectar via SSH entre as duas máquinas e o SSH não está bloqueado. Os serviços padrão nagios, como PING, e check_users funcionam, mas check_ssh permanece em um estado UNKNOWN desde o início. As informações de estado exibem "Uso:", que é um indicador de que os parâmetros estão errados.

Eu posso executar a verificação manualmente, no servidor nagios (Ubuntu Desktop)

/usr/local/nagios/libexec/check_ssh -H 192.168.0.2

SSH OK - OpenSSH_6.6.1p1 Ubuntu-2ubuntu2.3 (protocol 2.0) | time=0,012856s;;;0,000000;10,000000

e também no host (Ubuntu Server)

/usr/lib/nagios/plugins/check_ssh 192.168.0.2

SSH OK - OpenSSH_6.6.1p1 Ubuntu-2ubuntu2.3 (protocol 2.0) | time=0.011613s;;;0.000000;10.000000

Esta é a configuração do host:

define host {
        use                          linux-server
        host_name                    backup
        alias                        Backup Server
        address                      192.168.0.2 
        register                     1
}

A configuração do host é padrão:

define service {
      host_name                       backup
      service_description             Check SSH
      check_command                   check_ssh
      max_check_attempts              2
      check_interval                  2
      retry_interval                  2
      check_period                    24x7
      check_freshness                 1
      contact_groups                  admins
      notification_interval           2
      notification_period             24x7
      notifications_enabled           1
      register                        1
}

Eu também tentei adicionar o IP do host manualmente:

define service {
      host_name                       backup
      service_description             Check SSH
      check_command                   check_ssh!192.168.0.2
      max_check_attempts              2
      check_interval                  2
      retry_interval                  2
      check_period                    24x7
      check_freshness                 1
      contact_groups                  admins
      notification_interval           2
      notification_period             24x7
      notifications_enabled           1
      register                        1
}

O que estou perdendo aqui?

O que eu também tentei com base nas dicas

Com base no comentário de Dan, consegui descobrir que o serviço realmente tenta enviar os parâmetros nessa configuração:

ssh_check $ARG1$ '$HOSTADDRESS$' 

A verificação da configuração disponível do ssh_check no meu sistema de backup mostra essas possibilidades, no entanto, o comando padrão ssh_check não funcionou mesmo assim.

cat /etc/nagios-plugins/config/ssh.cfg 
# 'check_ssh' command definition
define command{
    command_name    check_ssh
    command_line    /usr/lib/nagios/plugins/check_ssh '$HOSTADDRESS$'
    }

# 'check_ssh_port' command definition
define command{
    command_name    check_ssh_port
    command_line    /usr/lib/nagios/plugins/check_ssh -p '$ARG1$' '$HOSTADDRESS$'
    }

####
# use these checks, if you want to test IPv4 connectivity on IPv6 enabled systems
####

# 'check_ssh_4' command definition
define command{
        command_name    check_ssh_4
        command_line    /usr/lib/nagios/plugins/check_ssh -4 '$HOSTADDRESS$'
        }

# 'check_ssh_port_4' command definition
define command{
    command_name    check_ssh_port_4
    command_line    /usr/lib/nagios/plugins/check_ssh -4 -p '$ARG1$' '$HOSTADDRESS$'
    }

Eu também tentei enviar o endereço IP do servidor de backup como ambos os parâmetros, mas não tive êxito.

define service {
      host_name                       backup
      service_description             Check SSH
      check_command                   check_ssh!192.168.0.2!192.168.0.2
      max_check_attempts              2
      check_interval                  2
      retry_interval                  2
      check_period                    24x7
      check_freshness                 1
      contact_groups                  admins
      notification_interval           2
      notification_period             24x7
      notifications_enabled           1
      register                        1
}

Solução

Eu não consegui descobrir como endereçar os comandos de serviço definidos na configuração do plugin nagios do cliente (/etc/nagios-plugins/config/ssh.cfg). Quando defini, por exemplo, ssh_check_4, meu servidor nagios reclamou de um serviço indefinido. Acabei configurando um novo comando de serviço:

define service {
      host_name                       backup
      service_description             Check SSH
      check_command                   check_ssh_fix
      max_check_attempts              2
      check_interval                  2
      retry_interval                  2
      check_period                    24x7
      check_freshness                 1
      contact_groups                  admins
      notification_interval           2
      notification_period             24x7
      notifications_enabled           1
      register                        1
}

define command{
  command_name  check_ssh_fix
  command_line  /usr/lib/nagios/plugins/check_ssh '$HOSTADDRESS$' 
}

Obrigado!

    
por Stefan 16.10.2015 / 15:04

2 respostas

4

Deve haver um comando definido para "check_ssh"

Como assim, por exemplo em um sistema Debian / Ubuntu /etc/nagios-plugins/config/ssh.cfg

define command{
  command_name  check_ssh
  command_line  /usr/lib/nagios/plugins/check_ssh '$HOSTADDRESS$'
}

Portanto, por padrão, o endereço de host é passado para o comando, sem que você faça nada além de usar check_ssh .

Eu acho que seu comando é assim:

define command{
  command_name  check_ssh
  command_line  /usr/lib/nagios/plugins/check_ssh '$HOSTADDRESS$' $ARG1$
}

Assim, o seguinte comando seria executado:

/usr/lib/nagios/plugins/check_ssh '1.2.3.4' 1.2.3.4
    
por 16.10.2015 / 19:22
0

Verifique se a versão do nagios-client é compatível com o seu sistema de monitoramento. Eu tive problema semelhante quando localmente estava funcionando ok. Mas não foi atualizar meu monitoramento (centron). Eu downgrade o nagios-client para a versão anterior e ele começou a funcionar ok.

    
por 17.10.2015 / 13:12