Nagios check_udp_ports retornando crítico: resultado para verificação agendada, executa bem manualmente

3

Usamos uma solução Nagios Core 4.3.2 no Ubuntu 14.04 para fazer um monitoramento simples de verificação de host em equipamentos clientes remotos. Um tipo de dispositivo que usamos não está disponível para ping, mas como parte de seu sistema de controle proprietário tem a porta UDP 5246 respondendo aberta ao 'capwap-control'. Eu estou tentando usar o plugin check_udp_port disponível a partir de

link

No entanto, ao tentar implementar em um dispositivo de teste, ele é exibido com informações de status: "CRITICAL:" Nenhuma informação adicional é fornecida ou qualquer entrada nos registros que não seja a verificação de host foi executada.

Ele usa o utilitário nmap para a verificação que requer o sudo, adicionei a entrada à última linha do / etc / sudoers para ignorar a senha por instruções no link acima.

nagios ALL = NOPASSWD:/usr/local/nagios/libexec/check_udp_port *

Aqui está como se parece no comando define {

    command_line    sudo $USER1$/check_udp_port -H $HOSTADDRESS$ -p $ARG1$ -s $ARG2$

Liguei a depuração e observei as entradas de log enquanto eu executava o teste algumas vezes no nagios web admin, o comando de saída final sempre parecia perfeitamente correto.

[1497380591.600863] [2048.1] [pid=1259] **** BEGIN MACRO PROCESSING ***********
[1497380591.600880] [2048.1] [pid=1259] Processing: 'sudo $USER1$/check_udp_port -H $HOSTADDRESS$ -p $ARG1$ -s $ARG2$'                
[1497380591.600893] [2048.1] [pid=1259]   Done.  Final output: 'sudo /usr/local/nagios/libexec/check_udp_port -H 172.15.192.211 -p 5246 -s capwap-control'                     
[1497380591.600901] [2048.1] [pid=1259] **** END MACRO PROCESSING *************

Primeiro eu verifiquei que o pid estava rodando sob o usuário nagios

 1259 nagios    20   0   37404  17036   2800 S   0.3  0.2  12:21.88 nagios

Em seguida, efetuei login como usuário nagios e executei o comando diretamente no log de depuração e ele é executado sem problemas.

nagios@Monitoring:/usr/local/nagios/libexec$ sudo /usr/local/nagios/libexec/check_udp_port -H 172.15.192.211 -p 5246 -s capwap-control
UDP OK - capwap-control listening on port 5246: 5246/udp open capwap-control

Eu testei sem a linha em sudoers e as informações do sistema no nagios mudam para um erro sobre a necessidade de sudo conforme o esperado. Mesmo que na linha de comando ele funcione perfeitamente e os logs mostrem que ele está executando o comando corretamente, ele ainda falha e simplesmente mostra "CRITICAL:" para obter informações.

    
por HHMsig 13.06.2017 / 22:54

1 resposta

0

Pode ser a configuração requiretty do sudo. Tente adicionar Defaults:nagios !requiretty aos sudoers (ou em /etc/sudoers.d em algum lugar).

Uma opção mais segura seria modificar o plug-in para chamar nmap via sudo, em vez de executar o plug-in inteiro através do sudo.

Ou, melhor ainda, use o plugin stock check_udp , que não requer root / sudo.

Além disso, ao testar manualmente na linha de comando, pode ser útil executar o seu plugin através de env -i para simular o que ele fará sem $ENV definido.

    
por 14.06.2017 / 16:53