Nagios NTP Tempo: UNKNOWN: falha de pesquisa para o host $ ARG1 $ (us.pool.ntp.org)

2

Atualmente, estamos utilizando o Nagios para monitorar nossos servidores de produção no meu local de trabalho. Nossa instância do Nagios é configurada em um servidor Linux onde monitoramos as máquinas Linux e Windows.

Eu tenho experimentado o seguinte problema do Nagios com relação ao tempo do NTP já há algum tempo em vários dos nossos servidores Windows:

Porfavor,vejaocomandoabaixoqueestámedandoproblemas:

check_windows_time!us.pool.ntp.org!3000!6000

Pareceque$ARG1$é'us.pool.ntp.org'.Oquecorrespondea'Falhadepesquisadohost$ARG1$'?EssesservidoresestãotendoproblemaspararesolverohostNTP(us.pool.ntp.org)?Emcasoafirmativo,estoucuriosoparasaberporquealgunsservidoresestãotendoproblemaspararesolveressehost,enquantooutrosnãoestão?Euestouusandoomesmocomandoemmuitosoutrosservidoressemproblemas.

Apenasparaobservar,todasasoutrasinstruçõesdemonitoramentoestãofuncionandobemnosservidorescomesseproblema(EspaçoemDisco,UsodaCPU,usodeRAM,etc).PareceserocomandoNTPqueestámedandoproblemas.

EuconfigureioNTPdamesmaformaemmuitosoutrosservidores,masnãoestoutendoesseproblema,porissonãoseioquepoderiaestarcausandoesseproblema.

Alguémjáexperimentouumerrosemelhanteantes?

Porfavor,deixe-mesabersevocêprecisardealgumainformaçãoadicionaleeuficareifelizemesclarecer.

Obrigado!

EDIT1:Seajudaremtudo,possonslookup'us.pool.ntp.org'dosservidoresafetados.Assim,osservidorescomproblemaspodemresolveressenomeDNS.

EDIT2:configuração'check_windows_time'doNSC.ini:

check_windows_time=check_windows_time.bat$ARG1$$ARG2$$ARG3$

check_windows_time.bat:

@echooffSETLOCALrem***************************************************remCheck_Windows_Time.batremremAuthor:MichaelvandenBergremCopyright2012-PCS-ITServicesB.V.(www.pcs-it.nl)remremThisNagiospluginwillcheckthetimeoffsetremagainstaspecifiedtimeserver.rem***************************************************if[%1]==[](gotousage)else(settime_server=%1)if[%1]==[/?](gotousage)else(settime_server=%1)if[%2]==[](setwarn_offset=nul)else(setwarn_offset=%2)if[%2]==[$ARG2$]setwarn_offset=nulif[%3]==[](setcrit_offset=nul)else(setcrit_offset=%3)if[%3]==[$ARG3$]setcrit_offset=nulfor/f"tokens=*" %%t in ('w32tm /stripchart /computer:%time_server% /samples:1 /dataonly') do set output=%%t

if not "x%output:0x80072af9=%"=="x%output%" goto host_error
if not "x%output:0x800705B4=%"=="x%output%" goto comm_error
if not "x%output:error=%"=="x%output%" goto unknown_error
if not "x%output:)=%"=="x%output%" goto unknown_error

set time_org=%output:*, =%
set time=%time_org:~1,-9%

if %warn_offset% == nul (set warn_perf=0) else (set warn_perf=%warn_offset%)
if %crit_offset% == nul (set crit_perf=0) else (set crit_perf=%crit_offset%)
set perf_data='Offset'=%time%s;%warn_perf%;%crit_perf%;0

if %time% geq %crit_offset% goto threshold_crit
if %time% geq %warn_offset% goto threshold_warn
if %time% lss %warn_offset% goto okay
goto unknown_error

:usage
echo %0 - Nagios plugin that checks time offset against a specified ntp server.
echo.
echo Usage:    %0 ^<timeserver^> ^<warning threshold in seconds^> ^<critical threshold in seconds^>
echo Examples: %0 us.pool.ntp.org 120 300
echo           %0 my-domain-controller.local 120 300
exit /b 3

:host_error
echo UNKNOWN: Lookup failure for host %time_server%
exit /b 3

:comm_error
echo UNKNOWN: Unable to query NTP service at %time_server% (Port 123 blocked/closed)
exit /b 3

:threshold_crit
echo CRITICAL: Time is %time_org% from %time_server%^|%perf_data%
exit /b 2

:threshold_warn
echo WARNING: Time is %time_org% from %time_server%^|%perf_data%
exit /b 1

:okay
echo OK: Time is %time_org% from %time_server%^|%perf_data%
exit /b 0

:unknown_error
echo UNKNOWN: Unable to check time (command error)
exit /b 3

EDIT 3: A mensagem de erro que estou recebendo parece ser resultado da condição a seguir:

if not "x%output:0x80072af9=%"=="x%output%" goto host_error

Alguém tem alguma ideia do que isso significa ou como posso resolver isso?

    
por MotoDave452 30.04.2018 / 16:03

1 resposta

0

Eu finalmente consegui fazer com que esses erros do NTP desaparecessem.

Primeiro, como temos o Firewall do Windows ativado, eu desbloqueei uma porta que é necessária para verificar a hora do NTP nas configurações de conexão de saída (123). Eu notei que este era o problema, porque eu tentei executar o meu arquivo 'check_windows_time.bat' na linha de comando e recebi um erro.

O grito vai para o usuário 'Sorcha' dos comentários acima para sugerir que eu realize este teste.

Em seguida, comparei a instância conturbada do NSC.ini com uma versão que eu sabia que estava funcionando corretamente. Havia algumas diferenças entre o arquivo .ini de trabalho e os servidores que apresentavam problemas. Eu modifiquei os arquivos .ini com problemas para combinar com o arquivo de trabalho e reiniciei o serviço NSClient ++.

Eu também reiniciei o Nagios. Depois de algum tempo meus erros foram apagados!

Obrigado pela sua ajuda.

    
por 21.05.2018 / 16:57