Um dos melhores programas de monitoramento de hosts e serviços open source é o Nagios, essa incrível e, a princípio, complicada ferramenta. Existe muita documentação sobre o Nagios, porém poucas reúnem todo o processo, desde a instalação, configuração e testes. Por isso, depois de enfrentar dificuldades, resolvi publicar minhas descobertas.
Muitos administradores e estudantes ouvem falar (bem) sobre o Nagios. Porém, as corretas instalações e configurações nem sempre são alcançadas, devido ao grande número de funções e serviços que o Nagios oferece.
Depois de apanhar muito durante a instalação e, principalmente, na configuração dessa ferramenta, resolvi fazer um apanhado de todos os meus passos para chegar até um sistema de monitoramento e notificações otimizado e bem configurado.
Antes de iniciarmos os trabalhos com o Nagios, primeiro devemos realizar a preparação do ambiente, para que não tenhamos problemas futuros nem necessidades de recompilação.
O Nagios é uma ferramenta para uso totalmente via Web. Por isso é importante que seu Apache esteja instalado e funcionando, assim como seu MTA (para envio das notificações).
Para o correto funcionamento do Nagios, é importante que os seguintes pacotes estejam instalados:
openssl (para monitoramento de hosts remotos)
libssl-dev (para compilação do NRPE, explicado adiante)
Abaixo os links para download desses pacotes. Se esses links estiverem quebrados, acesse o site www.nagios.org/download e baixe a última versão destes.
[2] Comentário enviado por augustoferronato em 09/07/2007 - 09:30h
Amigo, estou com este problema
It appears as though you do not have permission to view information you requested...
If you believe this is an error, check the HTTP server authentication requirements for accessing this CGI
and check the authorization options in your CGI configuration file.
[4] Comentário enviado por rgavioli em 10/07/2007 - 23:34h
Olá Augusto!
você descomentou no arquivo cgi.cfg as linhas de autorização ?
#authorization_*=nagiosadmin
Se sim, apesar de não ser necessário, coloque no diretório /usr/local/nagios/libexec as permissões para o grupo nagcmd:
chgrp -R nagcmd /usr/local/nagios/libexec
[5] Comentário enviado por rgavioli em 10/07/2007 - 23:36h
Valeu Clayton,
contei com ajuda de algumas pessoas, claro... pra desenvolver esse artigo!
Obrigado ao Fabio Munhoz que me ajudou nas experiências, e ao Fabiano Rodrigues, com a motivação !!!
[11] Comentário enviado por _holtz_ em 14/09/2007 - 11:41h
Bom dia! Pessoal, Meu Nagios tah funcionando legal, o problema eh que as notificações geradas não estão sendo enviadas para meu e-mail. To usando o exim4, ao usar # echo "teste de envio" | mail -s "teste de envio" meu_e-mail@gmail.com, consigo receber a msg, porém, as notificações no nagios não chegam em meu e-mail. No arquivo contacts.cfg, tah habilitado notify-by-email. Se alguem puder me ajudar eu ficaria agradecido. Obrigado
Att,
[12] Comentário enviado por rgavioli em 14/09/2007 - 13:22h
Olá holtz,
dê uma olhada no arquivo commands.cfg, na seção #notify-by-email.
Dentro dessa seção, existe a linha "command_line", que é onde fica o comando para envio do e-mail e as variáveis que serão enviadas na mensagem. Pode ser que o comando de envio de e-mail não seja suportado na sua distro.
Fica assim:
command_line /usr/bin/printf "%bla bla bla bla | /usr/bin/mail -s bla bla bla...
De uma olhada com cuidado nessa linha, para não alterar no lugar errado... faça um backup desse arquivo antes de alterar.
[13] Comentário enviado por _holtz_ em 15/09/2007 - 15:00h
Blz Ricardo, vo dar uma olhada nesse arquivo, aliás, vo olhar de novo, pra ver se não tem nada errado. O estranho é pq to usando Debian etch e Nagios 2.9, assim como seu artigo, porém sem sucesso no envio de e-mails.
Obrigado pela atenção. Vo olhar e posto aqui o resultado e uma possível dúvida. Vlw de novo!
[14] Comentário enviado por _holtz_ em 18/09/2007 - 12:28h
Bom dia Gavioli, seguinte: Problema resolvido, modifquei o comando Info:\n\n$SERVICEOUTPUT$" | /bin/mail -s "** $NOTIFICATIONTYPE$ alert , o que fez funcionar foi especificar todo o caminho do diretorio depois do pipe, ficando assim | /usr/bin/mail -s. Valeu pela ajuda! Estou com uma outra duvida, o arquivo nagios.cmd, existente /nagios/var/rw/ é deletado toda vez que o nagios é reiniciado, e isso faz com que as permissões de escrita sejam alteradas. Quando vou tentar editar algum arquivo utilizando a interface web, dá erro de permissão desse arquivo. Já utilizei o comando "chown nagios. /usr/local/nagios/var/rw" porém isso não resolveu o problema. Tentei alterar algumas linhas no script de inicialização no Nagios, mas sem sucesso. Alguma solução? Obrigado
[15] Comentário enviado por diramos em 23/01/2008 - 19:40h
Ricardo.
Ótimo artigo.
Mas tenho uma configuração "extra" a fazer no Nagios que instalei na minha empresa.
É referente à notificação por email.
Por questão de segurança, as caixas postais de email da empresa são configuradas para receber emails somente de contas padrões e previamente cadastradas.
O Nagios tem enviado notificações por email usando o remetente "nagios@mail.meuprovedor".
E as mensagens são barradas pelo Exchange, pois deveira ser no formato de exemplo assim: "diramos@mail.meuprovedor".
Então, a pergunta é: onde eu configuro isso?
Tente mudar o user no nagios.cfg para o padrão nosso e deu erro. Nem carregou o Nagios.
Se puder responder, fico devendo essa.
[19] Comentário enviado por jgaleti em 09/10/2008 - 16:10h
Aos colegas que estao com dificuldades ao instalar o NRPE, e que estão com problemas com SSL, se estiverem usando o debian ou qualquer derivado dele instalem uma dependencia:
apt-get install libssl-dev
Após instalar entre no diretorio e rode o ./configure e depois o make e os outros comandos do tutorial.
Espero uma resposta positiva de vocês: steve_harris e l-x.
[20] Comentário enviado por donabuba em 15/10/2008 - 15:52h
Olá.
Em minha rede, tenho +/- 200 máquinas sendo monitoradas, por isso, e grande a avalanche de e-mails com notificações.
Gostaria de filtrar essas notificações para que sói sejam enviadas as referentes aos servidores mais importantes da minha rede.
Obrigada.
[23] Comentário enviado por geber em 20/08/2009 - 19:01h
Olá, alguém pode me ajudar?
Ao acessar a página do Nagios aparece a msg: "It appears as though you do not have permission to view information for any of the hosts you requested... If you believe this is an error, check the HTTP server authentication requirements for accessing this CGI
and check the authorization options in your CGI configuration file."
Já tentei todas as soluções enviadas, mas nenhuma funcionou. Reparei também que após fazer o logon aparece a seguinte informação:
Current Network Status
Last Updated: Thu Aug 20 18:27:45 BRT 2009
Updated every 90 seconds
Nagios® Core™ 3.2.0 - www.nagios.org
Logged in as ? >>>>>>>>>> não aparece a minha conta
Segue abaixo minhas configurações:
Estou utilizando o Debian 5.0.
CGI.CFG:
todos os authorized com nagiosadmin ( authorized_for_system_commands=nagiosadmin )
Pasta /usr/local/nagios:
- dono: nagios
- grupo nagcmd
[24] Comentário enviado por poti em 28/08/2009 - 13:50h
Olá, ao testar a configuração estou tendo o seguinte erro:
Warning: Duplicate definition found for command 'check_http' (config file '/usr/local/nagios/etc/objects/commands.cfg', starting on line 241)
Error: Could not add object property in file '/usr/local/nagios/etc/objects/commands.cfg' on line 242.
Error processing object config files!
Abraços
t+
[25] Comentário enviado por ticopan em 14/09/2009 - 14:04h
Boa tarde... se alguém puder me ajudar com o Nagios eu agradeço. Ao tentar iniciar o Nagios pelo comando: /nagios/bin/nagios -v /nagios/etc/nagios.cfg
Ele me apresenta o seguinte erro:
Error: Could not add object property in file '/nagios/etc/hosts.cfg'
Abaixo segue o conteúdo do arquivo hosts.cfg:
################################################################################
# Sample object config file for Nagios
#
# Read the documentation for more information on this configuration file. I've
# provided some comments here, but things may not be so clear without further
# explanation, so make sure to read the HTML documentation!
#
# Last Modified: 03-10-2002
#
################################################################################
# Generic host definition template
define host{
name generic-host ; The name of this host template - referenced in other host definitions, used for template recursion/resolution
notifications_enabled 1 ; Host notifications are enabled
event_handler_enabled 1 ; Host event handler is enabled
flap_detection_enabled 1 ; Flap detection 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
register 0 ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL HOST, JUST A TEMPLATE!
}
# 'Localhost' host definition
define host{
use generic-host ; Name of host template to use