Nagios + NagiosQL + PNP4Nagios

Este procedimento tem como objetivo a instalação da aplicação Nagios versão 3.2.1 para monitoração de servidores juntamente com a interface de configuração NagiosQL versão 3.0.3. O PNP4Nagios é utilizado para mensurar capacidade através de gráficos dos dados de performance do próprio Nagios e (opcional) o NDOUtils para a gravação dos dados de coleta do Nagios em MySQL.

[ Hits: 88.421 ]

Por: Tiago MDR em 24/09/2010


Antes de começar



Isto não é um artigo (apesar do nome), mas sim um procedimento de instalação, tenha isso em mente.

Antes de começar, gostaria de deixar alguns pontos BEM CLAROS:
  • Todos os dados contidos neste procedimento são conteúdos alterados e adaptados da DOCUMENTAÇÃO do próprio site das aplicações, mas com observações de onde erros podem ocorrer além de traduções literais.
  • Este procedimento considera que você tenha pelo menos uma ideia de como funciona a configuração de hosts e serviços para serem monitorados no Nagios. Isso é importante porque mesmo que você utilize uma interface gráfica para configurar tais hosts e serviços, você consiga entender o "o que vai onde" quando for configurar um host/serviço na interface NagiosQL.
  • Também estou considerando que tenha você tenha um SNMP configurado para a monitoração (não é necessário, mas recomendável).
  • O conteúdo desde documento foi realizado em um servidor que está hoje em produção (desde maio/2010), com mais de 2000 itens monitorados entre servidores e serviços com Debian Lenny SPARC. Sim, este procedimento esta homologado para Debian.
  • Leia TUDO antes de colocar em prática.
  • Veja a documentação no site dos desenvolvedores também, você não sabe quanta informação útil pode ser encontrada.
  • NÃO execute isso em um servidor que já em produção sem saber o que está fazendo.
  • Já disse para LER antes de começar? Não? Então LEIA antes de começar.

Este procedimento foi testado também em Debian 5.0 Lenny em arquiteturas x86 e x86_64.

Dependendo da quantidade de itens monitorados pelo Nagios, provavelmente, você precisará alterar o local onde os logs do Nagios ficarão armazenados. Sugiro que atente-se a isso após a instalação. Existem "n" maneiras de se alterar o local onde os logs são armazenados, a que acredito ser mais fácil é de criação de links simbólicos... não é bonito, mas funciona.

O foco deste procedimento NÃO é mostrar como configurar os hosts e serviços para serem monitorados, assim como boas práticas para tal.

    Próxima página

Páginas do artigo
   1. Antes de começar
   2. Nagios (versão 3.2.1)
   3. NagiosQL (versão 3.0.3)
   4. Acessando o Nagios e NagiosQL
   5. PNP4Nagios (versão 0.6.3)
   6. Opcional - NDOUtils (versão 1.4b9)
   7. Conclusão
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Configurando Linux para Desenvolvimento de Sites

Adaptador Bluetooth no Slackware

Monitoração permanente do seu sistema operacional

Configurando o Fluxbox como WM padrão no Slackware 9.0

Instalando Slackware "na marra"

  
Comentários
[1] Comentário enviado por ramos1986 em 24/09/2010 - 08:20h

Parabéns cara pelo artigo, ficou muito bom.

[2] Comentário enviado por 4l3x4ndr3 em 28/09/2010 - 09:00h

Muito bom realmente seu artigo. Estou montando um novo servidor Nagios.
So tenho um dúvida. Estou tentando instalar a tradução do nagiosql. Consegui os arquivos já. Sabes como proceder essa atualizaçao?
Obrigad

[3] Comentário enviado por tiagomdrizzo em 28/09/2010 - 09:55h

A documentação do NagiosQL não é muito clara quanto a adicionar idiomas, porém, em /var/www/nagiosql/config/locale existentem diretórios de idiomas.

Acredito (e não estou afirmando) que se você criar um diretório de mesma estrutura que os demais apresentados neste local, mas com o nome pt_BR e obviamente copiar o arquivo de tradução para lá, o NaqiosQL irá lista-lo em Administration>Settings campo Language.

A não ser que você possua um bom motivo para realizar essa tradução, eu não recomendou você fazer isso. A documentação e ajuda dessa ferramenta está em grande parte em inglês e será sofrível encontrar algo em português que o auxilie no caso de uma erro.
Somente o milton.melo está participando da tradução do NagiosQL atualmente e não estou falando da documentação, somente da interface.

Caso funcione, responda neste tópico para auxiliar outras pessoas que possam que venham a ter o mesmo problema ;)

[4] Comentário enviado por 4l3x4ndr3 em 28/09/2010 - 15:17h

A traduao nao consegui fazer funcionar ainda. Mas nao estou mt interssado nisso.
Te mandei um e-mail sobre outra duvida. Se tiveres como responder agradeco.

[5] Comentário enviado por diramos em 17/04/2012 - 11:29h

Caro Tiago.

Parabéns pelo artigo.
Está claríssimo.
Tenho uma dúvida:
É possível usar o pnp4nagios com a variavel de macros desabilitada no nagios.cfg?
Assim:
enable_environment_macros=0

Meu Nagios é em larga escala e preciso que funcione o pnp4 também.

Grato desde já.

Diramos

[6] Comentário enviado por tiagomdrizzo em 17/04/2012 - 12:09h

Ramos,

Conforme descrevi no procedimento, o modo sincrono --necessita-- que a variavel de macro esteja ativada.
Os outros modos (Bulk e Bulk com NCPD) não necessitam dessa opção ativa, mas são pouca coisa mais chata de configurar.

Como curiosidade existem dois projetos em andamento muito interessantes para a administração do Nagios:

- OMD - omdistro.org - Open Monitoring Distribution - que possui muitas das coisas descritas nesse procedimento instalando de forma automática e com a vantagem de possuir o mod_gearman. Esse addon para o Nagios consegue melhorar muito a coleta de informações. Dependendo da quantidade de itens monitorados em sua rede seria interessante dar uma olhada nele ou instalar pelo menos o mod_gearman em seu servidor.

- FUN - fullyautomatednagios.org - Fully Automated Nagios - é uma distro pronta (sou meio contra essas distros prontas, mas é uma opção) que já entrega tudo configurado. Ele possui o Centreon que, pessoalmente, acho mais organizado que o NagiosQL e entrega uma interface um pouco melhor para gerenciar o Nagios como um todo, além de possuir o modulo para gráficos que eu não lembro agora se é ou não o PNP4Nagios. Porém, ele não possue algumas coisas que o OMD possui (as vezes acho que o OMD foge um pouco do foco com tanta tranqueira que vem com ele, mas enfim).

Um outro projeto que poderia citar aqui é o Icinga, que é um fork do Nagios, que está sendo desenvolvido com uma opções muito interessantes, mas sua documentação está meio fraca ainda. Detalhe é que todos os plugins criados para o Nagios funcionam com o Icinga.

Espero ter ajudado e não te-lo confundido mais rs.

[]'s

[7] Comentário enviado por diramos em 17/04/2012 - 12:36h

Tiago, nossa!
Respondeu prontamente e com rapidez.
Muito Obrigado.
Olha: por conta da minha larga escala (20.000 hosts aproximadamente), já estou implementando o mod_gearman.
Ele já está em produção para testes. Estou só fazendo os ajustes finos aqui.
Seguinte: eu tentei implementar o modo bulk aqui e desativei as macros (enable_environment_macros=0). Mas os gráficos não são gerados nem a pau.
O que pode estar acontecendo? Não teria jeito de eu deixar no modo síncrono mesmo e só ativar as macros que ele precisa?

Aguardo.

Diramos

[8] Comentário enviado por diramos em 17/04/2012 - 12:44h

Tiago, outra coisa:

Não entendi essa parte que você escreveu sobre o modo bulk:

"IMPORTANTE: Como há mais dados a serem processados do que no modo síncrono, o process_perfdata.pl levará mais tempo para coletar os dados, portanto, verifique o valor de TIMEOUT em etc/process_perfdata.cfg e ajuste-o de maneira apropriada."

Onde fica esse arquivo etc/process_perfdata.cfg?
Eu não encontrei ele aqui.

Grato

Diramos

[9] Comentário enviado por tiagomdrizzo em 17/04/2012 - 14:29h

Ramos,

A não ser que tenham mudado algo nas versões novas do 0.6.x (faz muito tempo que não instalo o PNP), o arquivo de configuração deveria estar em /usr/local/pnp4nagios/etc/process_perfdata.cfg que é onde o procedimento aponta implicitamente devido ao caminho de compilação (se o comando find não encontrou o arquivo, talvez seja algo com a versão).
O modo sincrono colhe as informações e apresentam quase em tempo real, já o modo Bulk demora mais para coletar os dados devido a configuração descrita no process_perfdata.cfg.

Quanto a ativar somente as macros que o modo sincrono necessita, infelizmente, não sei lhe responder. Seria necessário verificar a documentação do pnp4nagios no site de desenvolvimento.

Att,

[10] Comentário enviado por diramos em 17/04/2012 - 14:50h

Tiago, seguem mais detalhes daqui prá ver se pode me ajudar:
Eu compilei o pnp4nagios assim:
./configure --prefix=/opt/nagioscaixa --datarootdir=/opt/nagioscaixa/share/pnp --sysconfdir=/opt/nagioscaixa/etc/pnp --with-perfdata-logfile=/var/nagioscaixa/perfdata.log --with-perfdata-dir=/var/nagioscaixa/perfdata --with-perfdata-spool-dir=/var/nagioscaixa/spool

No modo síncrono, ele funcionava direititinho, gerando os dados dos gráficos em /var/nagioscaixa/perfdata/NOME_DO_HOST
Eu acessava os gráficos em: http://NOMESERVIDORNAGIOS/nagios/pnp/index.php/graph?host=LOCALHOST

Alterei o nagios.cfg para o modo bulk e ele ficou assim:

###############################
process_performance_data=1
service_perfdata_file=/var/nagioscaixa/service-perfdata
service_perfdata_file_template=DATATYPE::SERVICEPERFDATA\t TIMET::$TIMET$\t HOSTNAME::$HOSTNAME$\t SERVICEDESC::$SERVICEDESC$\t SERVICEPERFDATA::$SERVICEPERFDATA$\t SERVICECHECKCOMMAND::$SERVICECHECKCOMMAND$\t HOSTSTATE::$HOSTSTATE$\t HOSTSTATETYPE::$HOSTSTATETYPE$\t SERVICESTATE::$SERVICESTATE$\t SERVICESTATETYPE::$SERVICESTATETYPE$
service_perfdata_file_mode=a
service_perfdata_file_processing_interval=15
service_perfdata_file_processing_command=process-service-perfdata-file

#
# host performance data starting with Nagios 3.0
#
host_perfdata_file=/var/nagioscaixa/host-perfdata
host_perfdata_file_template=DATATYPE::HOSTPERFDATA\t TIMET::$TIMET$\t HOSTNAME::$HOSTNAME$\t HOSTPERFDATA::$HOSTPERFDATA$\t HOSTCHECKCOMMAND::$HOSTCHECKCOMMAND$\t HOSTSTATE::$HOSTSTATE$\t HOSTSTATETYPE::$HOSTSTATETYPE$
host_perfdata_file_mode=a
host_perfdata_file_processing_interval=15
host_perfdata_file_processing_command=process-host-perfdata-file
##############################

Incluí no meu command.cfg os seguintes comandos:

define command {
command_name process-host-perfdata-file
command_line $USER1$/process_perfdata.pl --bulk=/var/nagioscaixa/host-perfdata
}

define command {
command_name process-service-perfdata-file
command_line $USER1$/process_perfdata.pl --bulk=/var/nagioscaixa/service-perfdata
}

Reiniciei o nagios.
Não deu nenhum erro no nagios.log.

Só que não consigo verificar se os arquivos estão sendo gerados.
E também não consigo ver os gráficos.

Poderia checar onde eu errei?

OBS: ainda não desabilite o enable_MACROS=0 NO NAGIOS.CFG.

aGUARDO

dIRAMOS



[11] Comentário enviado por diramos em 17/04/2012 - 18:25h

Prezado Tiago,
Graças às suas valiosas dicas, consegui resolver aqui. :)
Revisei as configurações e tinha uns errinhos de path.
Agora tá funcionando muito bem.
Para você ter uma idéia, com o mod_gearmand e desabilitando as macros, consegui gerar todos os gráficos.
Atualmente estou checando 2.000 hosts em 01 VM de laboratório e mais 03 Workers.
A latência é mínima (0,3 segundos). E o uso de CPU não chega a 5%.
Agora vou incluir mais umas dezenas de hosts lá prá ver o quanto o bichinho aguenta. rsrsrsrs

Mais uma vez agradeço a presteza e boa vontade em ajudar-nos.
E parabéns pelo artigo.

Diramos

[12] Comentário enviado por jeffr2 em 28/01/2016 - 20:02h

por favor alguem me ajude... instalei o nagios + nagiosql, o nagios em /usr/local/nagios e o nagiosql dentro de share (/usr/local/nagios/share/nagiosql). o apache deixei configurado como user e group ambos "nagios". fiz os apontamentos do nagiosql em "administration > config targets", mas quando eu cadastro um host, ele simplesmente nao aparece no nagios.

--------------
saída:

# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

Nagios Core 4.1.1
Copyright (c) 2009-present Nagios Core Development Team and Community Contributors
Copyright (c) 1999-2009 Ethan Galstad
Last Modified: 08-19-2015
License: GPL

Website: https://www.nagios.org
Reading configuration data...
Read main config file okay...
Read object config files okay...

Running pre-flight check on configuration data...

Checking objects...
Checked 21 services.
Checked 5 hosts.
Checked 4 host groups.
Checked 0 service groups.
Checked 1 contacts.
Checked 1 contact groups.
Checked 24 commands.
Checked 5 time periods.
Checked 0 host escalations.
Checked 0 service escalations.
Checking for circular paths...
Checked 5 hosts
Checked 0 service dependencies
Checked 0 host dependencies
Checked 5 timeperiods
Checking global event handlers...
Checking obsessive compulsive processor commands...
Checking misc settings...

Total Warnings: 0
Total Errors: 0

Things look okay - No serious problems were detected during the pre-flight check

--------------

o nagios.cfg ta configurado com esse diretório: cfg_dir=/usr/local/nagios/share/nagiosql, o resto deixei comentado.

ainda assim os hosts nao aparecem no nagios, alguém tem uma ideia do que posso ta fazendo de errado??

[13] Comentário enviado por almeidass em 18/11/2016 - 13:57h

Perfeito!


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts