Artigo 11 – Gráfico no Nagios com PNP4Nagios

Olá turma do Nagios, hoje vou mostrar o PNP4Nagios que exibe um gráfico de perfomance do monitoramento, por exemplo, com ele podemos avaliar o crescimento da utilização de espaço em disco, logo estimar em quanto tempo você tera um problema de espaço.

O PNP4Nagios pode funcionar de 4 modos:

            • Synchronous Mode
            • Bulk Mode
            • Bulk Mode with NPCD
            • Bulk Mode with npcdmod

Vamos utilizar Bulk Mode with NPCD, segue imagem do funcionamento deste modo:

Para mais informações sobre como o PNP4Nagios funciona acesse:

http://docs.pnp4nagios.org/pnp-0.6/modes

Para gerar este grafico o plugin (check_alguma_coisa) precisa gerar dados de performance. Para saber se o plugin gera estes dados acesse a interface do Nagios e clique no serviço ou no host:

O item Performance Data esta vazio 😦

O item Performance Data esta preenchido 🙂

## Acesse o servidor Nagios e instale os pacotes abaixo:

aptitude install php5 rrdtool librrds-perl

## Vamos baixar e instalar o PNP4Nagios

cd /usr/src/
wget http://sourceforge.net/projects/pnp4nagios/files/PNP-0.6/pnp4nagios-0.6.6.tar.gz
tar zxvf pnp4nagios-0.6.6.tar.gz

cd pnp4nagios-0.6.6
./configure
make all
make install
make install-config
make install-webconf
ldconfig


## Agora precisamos ativar modulo rewrite no apache

cd /etc/apache2/mods-enabled/
ln -s ../mods-available/rewrite.load rewrite.load

## Configurar o nagios.cfg, procure pelo parametro process_performance_data e insira os dados abaixo:

vim /usr/local/nagios/etc/nagios.cfg

process_performance_data=1 
service_perfdata_file=/usr/local/pnp4nagios/var/service-perfdata 
service_perfdata_file_template=DATATYPE::SERVICEPERFDATA\tTIMET::$TIMET$\tHOSTNAME::$HOSTNAME$\tSERVICEDESC::$SERVICEDESC$\tSERVICEPERFDATA::$SERVICEPERFDATA$\tSERVICECHECKCOMMAND::$SERVICECHECKCOMMAND$\tHOSTSTATE::$HOSTSTATE$\tHOSTSTATETYPE::$HOSTSTATETYPE$\tSERVICESTATE::$SERVICESTATE$\tSERVICESTATETYPE::$SERVICESTATETYPE$ 
service_perfdata_file_mode=a 
service_perfdata_file_processing_interval=15 
service_perfdata_file_processing_command=process-service-perfdata-file 
host_perfdata_file=/usr/local/pnp4nagios/var/host-perfdata 
host_perfdata_file_template=DATATYPE::HOSTPERFDATA\tTIMET::$TIMET$\tHOSTNAME::$HOSTNAME$\tHOSTPERFDATA::$HOSTPERFDATA$\tHOSTCHECKCOMMAND::$HOSTCHECKCOMMAND$\tHOSTSTATE::$HOSTSTATE$\tHOSTSTATETYPE::$HOSTSTATETYPE$ 
host_perfdata_file_mode=a 
host_perfdata_file_processing_interval=15 
host_perfdata_file_processing_command=process-host-perfdata-file

## Acesse o arquivo commands.cfg e insira os dados no final no arquivo:

vim /usr/local/nagios/etc/objects/commands.cfg

define command{ 
 command_name     process-service-perfdata-file 
 command_line       /bin/mv /usr/local/pnp4nagios/var/service-perfdata /usr/local/pnp4nagios/var/spool/service-perfdata.$TIMET$ 
} 

define command{
   command_name    process-host-perfdata-file 
 command_line       /bin/mv /usr/local/pnp4nagios/var/host-perfdata /usr/local/pnp4nagios/var/spool/host-perfdata.$TIMET$ 
}

## Ajustando a configuração

cd /usr/local/pnp4nagios/etc/
mv process_perfdata.cfg-sample process_perfdata.cf
mv npcd.cfg-sample npcd.cfg


## Reinicie o Apache e acesse a interface do pnp4Nagios

/etc/init.d/apache2 restart

http://IP/pnp4nagios/

OBS: Verifique se todas as dependências estão ok.


## + Ajustes

cd /usr/local/pnp4nagios/share/
mv install.php install.php-old


## Vamos iniciar o serviço

/usr/local/pnp4nagios/bin/npcd -d -f /usr/local/pnp4nagios/etc/npcd.cfg

OBS: Insira a linha acima no arquivo /etc/rc.local


## Blz, agora vamos integrar as interface do Nagios e PNP4Nagios

# Acesse o arquivo srvWindows.cfg e insira a linha em negrito (action_url )

vim /usr/local/nagios/etc/windows/srvWindows.cfg


define service{  
 host_name      SRV_Windows 
 service_description      Particao 
 use                     TemplateService 
 check_command            check_nt_disk!C 
 contact_groups           Admin  
 action_url               /pnp4nagios/index.php/graph?host=$HOSTNAME$&srv=$SERVICEDESC$ 
}  


## Agora Reload no Nagios

/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
/etc/init.d/nagios reload

## Agora acesse a interface do nagios e no serviço partição vai aparecer a imagem abaixo

Pronto, Grafico vai ser gerado! 😛

O PNP4Nagios é uma ferramenta adicional para o Nagios e como muitas pessoas utilizam resolvi escrever, contra partida após conhece-lá tenho que dizer que prefiro a utilização do Cacti, futuramente apresento o Cacti aqui no site de qualquer forma para os mais apressados podem visitar a página do projeto:

http://www.cacti.net/

.
.
.
🙂
Luciano Maia Cirilo
LPIC-3
www.nagiosnapratica.com.br

Anúncios

, ,

  1. #1 por Paulo Bernardo em dezembro 13, 2010 - 3:52 pm

    Pessoal
    Encontrei no saite do MarcioPessoa um post que fala sobre a LinuxMagazine de outubro que fala detalhadamente sobre a instalação e uso profundo de graficos NAgios

    http://pessoa.eti.br/main/2010/10/13/linux-magazine-71/

  2. #2 por Cícero em abril 27, 2011 - 11:31 am

    Cara,

    rodei os comandos acima e funcionou perfeitamente no meu servidor.

    obrigado.

  3. #3 por Mauricio em junho 9, 2011 - 8:17 pm

    Otimo material..
    aqui consegui rodar sem problemas os comandos..
    mas ao dar um reload no nagios esta informando erro, nao consegue identificar a linha
    “use TemplateService”

    O que estou fazendo de errado?

    • #4 por Nagios na Prática! em junho 10, 2011 - 9:57 am

      Olá Mauricio,

      Os artigos estão em sequência. Este “TemplateService” foi criado anteriormente, siga passo-a-passo.


      Att.
      Luciano Maia Cirilo
      LPIC-3
      http://www.nagiosnapratica.com.br

      • #5 por Mauricio em junho 10, 2011 - 5:38 pm

        Ja vi onde errei.. srsr

        mas quando clico na opção perform abre outra janela com a descrição:

        PNP Error
        Please check the Kohana documentation for information about the following error.

        >application/models/data.php [143]:

        perfdata directory “/usr/local/pnp4nagios/var/perfdata/servidor” for host “nt-avmtz02” does not exist. Read FAQ online

        estou pesquisando para saber como resolvo.. mas se ja tiver a solucao agradeço 😀

  4. #6 por Valdenir em março 6, 2012 - 3:13 pm

    Estou com o mesmo erro que o mauricio

    Please check the Kohana documentation for information about the following error.

    application/models/data.php [154]:

    perfdata directory “/usr/share/nagios/var/perfdata/srv-01” is empty. Please check your Nagios config. Read FAQ online

  5. #7 por Waldemberguem em abril 11, 2012 - 11:43 am

    Fiz tudo certinho mais está dando o seguinte erro ao acessar a pagina do pnp4 “PHP GD extension PHP GD extension not available” o que pode ser?

  6. #9 por Luiz Reche em abril 17, 2012 - 5:48 pm

    Olá luciano, realizei a instalação e aparentemente meu nagios esta gerando graficos apenas de sistemas linux, sistemas windows esta dando o seguinte erro:
    PNP Error

    An error was detected which prevented the loading of this page. If this problem persists, please contact the website administrator.

    application/models/data.php [259]:

    simplexml_load_file(): /usr/local/pnp4nagios/var/perfdata/xenapp01/CPU_Load.xml:10: parser error : Input is not proper UTF-8, indicate encoding ! Bytes: 0xED 0x6E 0x69 0x6D

    Utilizo NSClient++ para rodar o nrpe nos hosts windows.
    Alguma ideia do que pode ser?
    Em uma pesquisa o pessoal falou que pode ser a codificação dos arquivos de configuração do nagios que não estão em UTF-8 pois utilizo WINSCP para mecher neles, salvei todos via bloco de notas windows em UTF-8 e o problema persiste.
    Qualquer ajuda é bem vinda.
    Se tiver alguma documentação de integração do nagios com o cacti tambem agradeço, pois nesse server estou rodando o cacti tambem, porem sem integração com os serviços do nagios.
    Muito obrigado.

  7. #10 por Luiz Reche em abril 18, 2012 - 9:59 am

    Bom dia Luciano, consegui solucionar o problema, o script process_perfdata.pl estava gerando os arquivos xml na codificação UTF-8, alterei para ISO-8859-1 e o problema foi sanado.
    Muito obrigado.

  8. #11 por Sidnei Inácio em setembro 5, 2012 - 11:28 am

    Bom dia! Luciano,

    Estou com problema não consigo carregar outros gráficos está apresentando o seguinte erro:

    PNP Error

    Please check the Kohana documentation for information about the following error.

    >application/models/data.php [286]:

    XML file “/usr/local/pnp4nagios/var/perfdata/localhost/Current_Load.xml” not found. Read FAQ online

    Se tiver alguma idéia fico grato!

  9. #12 por Alexander em setembro 19, 2012 - 11:58 am

    Bom dia Luciano!!!

    Cara, estou exatamente com o mesmo problemado do Sidnei Inácio,

    Alguma dica de como resolver esse problema?

    Abraços,

    Alexander

  10. #14 por Jean em março 25, 2013 - 11:54 am

    Luciano, muito obrigado, me ajudou muito.
    Parabens

  11. #15 por Rafael Mello em agosto 5, 2013 - 9:49 pm

    como faço para ter preenchido o Performance Data?

  12. #16 por Victor de Oliveira em maio 22, 2014 - 1:15 pm

    Boa Tarde Luciano

    Não estou conseguindo visualizar os gráficos do pnp4nagios. Segui a risca o seu tutorial mas aqui só aparece a tela em branco. O que acha que é ?

    Atenciosamente

  13. #17 por alex prinou em abril 24, 2015 - 4:30 pm

    Ola,
    fiz um plugin usando shell script para checar o trafego de rede em determinadas interfaces no meu router, o script roda 100% funcional, alarma ok, critical, warning e uknow no nagios, mais não estou conseguindo gerar o performance date para o pnp4nagios gerar o gráfico. Você poderia me da uma luz nesse assunto?

  14. #18 por douglasunix em outubro 27, 2015 - 5:25 pm

    No meu caso, eu instalei o apache2 e nagios3 através do apt-get, e por padrão as instalações ficaram em /etc/nagios3 e /etc/apache2, então tive que esmiuçar todos os arquivos de configuração que se referia ao caminho /usr/local/nagios/ e corrigir para /etc/nagios3/
    Exemplo:

    1º O log de erro do apache dizia que não estava encontrando o arquivo: “/usr/local/nagios/etc/htpasswd.user”
    Para corrigir acessei o /etc/apache2/conf.d/pnp4nagios.conf e acertei o caminho.

    2º A instalação padrão do apache2 por apt-get não cria a pasta: /etc/apache2/conf.d
    Tive que criar o conf.d e repetir os passos da instalação daí o arquivo pnp4nagios.conf foi criado corretamente.

    3º Proximo passo criei um Link simbólico do arquivo /etc/apache2/conf.d/pnp4nagios.conf dentro de: /etc/apache2/conf-enabled/

    Pare os serviços apague os logs de erro, e reinicie-os novamente.

  15. #19 por Mauricio Santos em dezembro 10, 2015 - 5:44 pm

    Olá,

    Achei interessante este artigo, mas fiquei travado no make install-webconf.

    OBS: Faz pouco tempo que estou lidando com o Linux.

    Após dar o make install-webconf me resulta neste erro:

    root@debian:/usr/src/pnp4nagios-0.6.6# make install-webconf
    cd ./sample-config && make install-webconf
    make[1]: Entering directory ‘/usr/src/pnp4nagios-0.6.6/sample-config’
    /usr/bin/install -c -m 644 httpd.conf /etc/httpd/conf.d/pnp4nagios.conf
    /usr/bin/install: cannot create regular file ‘/etc/httpd/conf.d/pnp4nagios.conf’: No such file or directory
    Makefile:66: recipe for target ‘install-webconf’ failed
    make[1]: *** [install-webconf] Error 1
    make[1]: Leaving directory ‘/usr/src/pnp4nagios-0.6.6/sample-config’
    Makefile:108: recipe for target ‘install-webconf’ failed
    make: *** [install-webconf] Error 2

    Realmente o diretório /etc/httpd/ não existe, mas não sei em que momento ele é criado.]
    Fiz algo errado?

    • #20 por Nagios na Prática! em dezembro 5, 2016 - 4:10 pm

      Mauricio, estou começando um novo curso de nagios no meu canal no youtube… acompanhe por lá tb

  16. #21 por Rafael em fevereiro 5, 2017 - 10:45 pm

    Seu tutorial é sensacional. A minha instalação deu tudo certo, funcionou de boa. Porém, do nada, alguns dias depois ele parou de gerar os gráficos. Analisando o status pela página web http:\\localhost\pnp4nagios/index.php/graph?host=MEUHOST vi que o Last Check foi exatamente na data em que o gráfico parou de aparecer.
    Quando vou verificar o status do serviço npcd ele me retorna o seguinte:

    [root@localhost ~]# service npcd status
    Redirecting to /bin/systemctl status npcd.service
    npcd.service
    Loaded: not-found (Reason: No such file or directory)
    Active: inactive (dead)

    Meu sistema é um RedHat,

    Pode me ajudar a resolver isso? Obrigado!

    • #22 por Nagios na Prática! em fevereiro 6, 2017 - 8:32 am

      O problema pelo seu log esta no serviço. Tente instalar novamente.

      • #23 por Rafael em fevereiro 6, 2017 - 1:33 pm

        Já tentei refazer o procedimento de instalação do seu tutorial
        ./configure
        make all
        make install
        make install-config
        make install-webconf
        ldconfig

        E mesmo assim o serviço não aparece. Teria que fazer algum procedimento diferente para reinstalar? Agradeço a ajuda.

      • #24 por Nagios na Prática! em fevereiro 6, 2017 - 2:15 pm

        Verifique se o serviço esta rodando:

        ps aux | grep npcd

        No tutorial mostrei iniciando manualmente:

        /usr/local/pnp4nagios/bin/npcd -d -f /usr/local/pnp4nagios/etc/npcd.cfg

  17. #25 por Rafael em fevereiro 6, 2017 - 2:21 pm

    [root@localhost etc]# ps aux | grep npcd
    nagios 7894 16.5 4.0 126576 82948 ? R Fev05 158:54 /usr/local/pnp4nagios/bin/npcd -d -f /usr/local/pnp4nagios/etc/npcd.cfg
    nagios 15244 16.5 3.8 128320 78968 ? Sl Fev05 163:50 /usr/local/pnp4nagios/bin/npcd -d -f /usr/local/pnp4nagios/etc/npcd.cfg
    nagios 27538 37.7 3.5 73908 72276 ? S 14:18 0:11 /usr/local/pnp4nagios/bin/npcd -d -f /usr/local/pnp4nagios/etc/npcd.cfg
    root 27754 0.0 0.0 6208 900 pts/0 S+ 14:19 0:00 grep –color=auto npcd
    [root@localhost etc]# /usr/local/pnp4nagios/bin/npcd -d -f /usr/local/pnp4nagios/etc/npcd.cfg
    [root@localhost etc]# service npcd status
    Redirecting to /bin/systemctl status npcd.service
    npcd.service
    Loaded: not-found (Reason: No such file or directory)
    Active: inactive (dead)

    Eu fiz o procedimento de iniciar manualmente, fiz novamente para reproduzir o erro para você. O estranho é que no começo funcionou direitinho.

    • #26 por Nagios na Prática! em fevereiro 6, 2017 - 2:24 pm

      Rafael,

      Tente deixar apenas 1 processo rodando.

      Outra pergunta não esta gerando nenhum grafico???

      • #27 por Rafael em fevereiro 6, 2017 - 4:39 pm

        Deixei apenas um rodando, reiniciei o sistema e nada. =/

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: