O Nagiosgrapher não processa os dados corretamente

2

Configurei o nagiosgrapher corretamente, até onde eu sei, mas os logs continuam relatando falta de dados. Por exemplo, para load, em /var/log/nagiosgrapher/ngraph.log :

 2012-08-02 22:30:16 PIPE: myhost    CPU Load        OK - load average: 0.00, 0.00, 0.00     load1=0.000;15.000;30.000;0; load5=0.000;10.000;25.000;0; load15=0.000;5.000;20.000;0;
 2012-08-02 22:30:16 VALUES: [myhost][CPU Load]:No matching output values found...

Eu configurei o Nagios e o Nagiosgrapher em sistemas Debian antes e nunca encontrei um problema como esse, e até agora não consegui resolvê-lo.

Os sistemas estão usando apenas plugins padrão. Os valores relevantes de /etc/nagios3/nagios.cfg são:

 process_performance_data=1

e

 service_perfdata_command=ngraph-process-service-perfdata-pipe

Eu tentei reiniciar o Nagios e o Nagiosgrapher em ordem variada, algo que encontrei nas pesquisas do Google, mas isso não parece ter efeito.

Existe alguma ideia do que eu posso estar fazendo errado ou onde procurar? Todas as outras funcionalidades do Nagios parecem estar se comportando normalmente em hosts locais e remotos.

    
por futureal 03.08.2012 / 07:37

2 respostas

1

Vou responder à minha pergunta em detalhes, já que isso me deixou louca por algum tempo, e espero que ajude alguém mais adiante, procurando o mesmo. Graças à resposta de Keith, no entanto, que me iniciou no caminho certo aqui.

Para depurar isso, eu editei o arquivo /etc/nagiosgrapher/ngraph.ncfg e configurei o log para a configuração mais detalhada possível:

log_file                /var/log/nagiosgrapher/ngraph.log
log_level               255

Eu reiniciei o nagiosgrapher via /etc/init.d/nagiosgrapher restart e comecei a assistir ao log no local acima.

Há três coisas que aconteceram aqui e contribuíram para o meu problema:

Problema 1

Por alguma razão, a distribuição Debian do nagiosgrapher não instala mais as definições gráficas check_disk.ncfg e check_load.ncfg. Eu sempre suponho que fiz algo errado quando as coisas não funcionam, mas neste caso, eles simplesmente não estão lá - MAS, eles estão na distribuição e no sistema. Você só precisa copiá-los:

 cp /usr/share/nagiosgrapher/debian/cfg/ngraph.d/standard/check_disk.ncfg /etc/nagiosgrapher/ngraph.d/standard
 cp /usr/share/nagiosgrapher/debian/cfg/ngraph.d/standard/check_load.ncfg /etc/nagiosgrapher/ngraph.d/standard

É possível que isso seja apenas um problema com o script de instalação do pacote, mas eu não verifiquei isso e sua milhagem pode variar. Isso funcionou para mim embora.

Problema 2

Eu tinha renomeado o service-description de "Current Load" para "CPU Load" no arquivo /etc/nagios3/conf.d/services_nagios2.cfg onde eu o defini, o que parecia inocente na época. No entanto, o pacote nagiosgrapher vem com um plugin chamado check_hardware , que tem um bloco definido como "CPU", e aparentemente, nagiosgrapher observa a descrição do serviço, analisa o espaço em branco e verifica os blocos correspondentes, nesse caso verificando ambos "CPU" e "Load". Além disso, sempre que um desses blocos não coincide, toda a gravação falha, resultando na mensagem que recebi na minha pergunta acima.

Problema 3

Similar ao Problema 2, eu adicionei monitoramento para partições do MySQL e configurei o service-description para "Espaço em Disco: MySQL". Mais uma vez, o sine nagiosgrapher estava analisando o espaço em branco, ele viu "Disk" e "MySQL" e estava acionando o plugin de gráfico do MySQL, que obviamente falhava na saída do disco. Alterar a descrição do serviço corrigiu isso.

Após as alterações acima, faça o seguinte:

 /etc/init.d/nagiosgrapher restart

Isso começará a gerar os dados do gráfico corretamente. Uma vez que isto tenha sido executado por algum tempo e cada gráfico tenha sido gerado pelo menos uma vez (você pode verificar nos logs ou olhando diretamente no diretório /var/lib/nagiosgrapher/rrd/ ), então reinicie o Nagios:

 /etc/init.d/nagios3 restart

Neste ponto, tudo deve estar funcionando bem.

Por que vale a pena, estes são os pacotes que eu instalei que me levaram a este problema e solução:

ii  nagios-images                           0.7                          Collection of images and icons for the nagios system
ii  nagios-nrpe-plugin                      2.12-4                       Nagios Remote Plugin Executor Plugin
ii  nagios-nrpe-server                      2.12-4                       Nagios Remote Plugin Executor Server
ii  nagios-plugins-basic                    1.4.15-3squeeze1             Plugins for the nagios network monitoring and management system
ii  nagios-plugins-standard                 1.4.15-3squeeze1             Plugins for the nagios network monitoring and management system
ii  nagios3                                 3.2.1-2                      A host/service/network monitoring and management system
ii  nagios3-cgi                             3.2.1-2                      cgi files for nagios3
ii  nagios3-common                          3.2.1-2                      support files for nagios3
ii  nagios3-core                            3.2.1-2                      A host/service/network monitoring and management system core files
ii  nagiosgrapher                           1.7.1-2+deb60u1              Charting add-on for Nagios
    
por 05.08.2012 / 21:37
2

O fato de que o log está mostrando a linha PIPE significa que você configurou o Nagios para enviar os dados para o Nagiosgrapher corretamente.

A linha "No mathcing output values found" significa que o regexp na definição ngraph "CPU Load" não corresponde a nada nos dados que obteve ("OK - load average: 0.00, 0.00, 0.00 load1 = 0.000 15.000; 30.000; 0; carga 5 = 0.000; 10.000; 25.000; 0; carga15 = 0.000; 5.000; 20.000; 0; ").

Você deve ter um arquivo de configuração (talvez "check_load.ncfg") que defina o ngraph para serviços que contenham o nome "load". Verifique na pasta ngraph.d, ou onde você colocou seus fragmentos de configuração para o Nagiosgrapher, e então certifique-se de que as entradas "graph_log_regex" ou "graph_perf_regex" façam sentido.

    
por 03.08.2012 / 22:13

Tags