Máquinas de monitorização Nagios com verificação ping
Depois de instalar o nagios e o nagios-plugins-all (via yum), criei uma série de definições de hosts e serviços, testei a minha configuração com nagios -v /etc/nagios/nagios.cfg
, e pus o Nagios a funcionar!
dentro da interface web de Nagios / Painel de instrumentos, se eu perfurar numa página da máquina com a "informação do Estado da máquina", Vejo isto a ser reportado para " informação do Estado "(endereço IP removido):
informação sobre o estado: / usr / bin/ping - n-U-w 30-C 5 {meu-servidor-endereço ip}
crítico-não foi possível interpretar o resultado do comando ping
então, na minha solução de problemas, perfurei para o directório de Plugins Nagios (/usr / lib64/nagios/plugins), e fiz um teste com o 'plugin' de check_ping consistente com a forma como o check-host-alive executa o comando (veja em baixo para a minha definição do comando check-host-alive):
./check_ping -H {my-ip-address} -w 3000.0,80% -c 5000.0,100% -p 5
Este comando check_ping devolve o seguinte resultado:
PING OK - perda do pacote = 0%, RTA = 0, 63 ms|rta=0.627000 ms;3000.000000;5000.000000;0.000000 pl=0%;80;100;0
Eu não mudei a definição de como o check_ping funciona, e posso confirmar que estou a receber um "PING OK" sempre que o comando é executado da mesma forma que o "check-host-alive" comanda o comando, por isso não consigo perceber o que se passa!
abaixo estão as definições de comandos para check-host-alive, bem como check_ping.
# 'check-host-alive' command definition
define command{
command_name check-host-alive
command_line $USER1$/check_ping -H $HOSTADDRESS$ -w 3000.0,80% -c 5000.0,100% -p 5
}
{snip}
# 'check_ping' command definition
define command{
command_name check_ping
command_line $USER1$/check_ping -H $HOSTADDRESS$ -w $ARG1$ -c $ARG2$ -p 5
}
alguma sugestão sobre como posso corrigir a minha definição de comando check-host-alive para funcionar correctamente e avaliar o resultado do check_ping correctamente?
Editar
abaixo encontra-se o modelo da máquina {} que estou a usar:
define host {
host_name myers ; The name of this host template
alias Myers
address [redacted]
check_command check-host-alive
contact_groups admins
notifications_enabled 0 ; Host notifications are enabled
event_handler_enabled 1 ; Host event handler is enabled
flap_detection_enabled 1 ; Flap detection is enabled
failure_prediction_enabled 1 ; Failure prediction is enabled
process_perf_data 1 ; Process performance data
retain_status_information 1 ; Retain status information across program restarts
retain_nonstatus_information 1 ; Retain non-status information across program restarts
notification_period 24x7 ; Send host notifications at any time
register 1
max_check_attempts 2
}
3 answers
Não consegui encontrar o ping no /usr/bin / ping
# chmod u+s /bin/ping
# ls -al /bin/ping
-rwsr-xr-x 1 root root 40760 Sep 26 2013 /bin/ping*
Finalmente execute o comando abaixo,
/usr/local/nagios/libexec/check_ping -H 127.0.0.1 -w 100.0,20% -c 500.0,60% -p 5
Para qualquer outra pessoa que se depare com este problema, há outra opção do que mudar as permissões no ping. Basta mudar o comando de verificação da máquina para usar check_host
em vez de check_ping
. Embora haja certamente algumas diferenças na funcionalidade, o resultado final geral é o mesmo.
Existem aqueles que vão dizer que esta não é uma boa opção devido à capacidade de alcance do comando {[[1]}, mas deve-se lembrar que as verificações do host nem sequer são executadas até que todas as verificações de Serviço para um a máquina indicada falhou. De qualquer forma, se você está interessado em testar o rendimento, há maneiras muito melhores de fazer isso do que confiar em ICMP
, que é o tipo de tráfego de menor prioridade em uma rede.