Muitos administradores Linux desejam um gerenciador poderoso de redes para poder controlar suas rotinas e checar a saúde da rede como um todo. O Nagios é, sem duvida, o melhor e mais completo gerenciador de redes para essa tarefa. Esse artigo mostra os passos para sua compilação e instalação. Testado em Debian Etch e Ubuntu 7.10 e 6.10, mas funciona em qualquer distro.
O artigo aborda o uso da versão 3 beta 7, que apesar de ser beta, vem se mostrando muito estável e em meus testes não apresentou nenhum problema. Use o wget para baixar os programas abaixo (copie e cole as linhas abaixo em seu terminal).
Bem, agora é hora de descompactar, compilar e instalar o nagios e seus plugins.
# ./configure --with-command-group=nagcmd
Veja bem que na configuração da compilação que você determina qual grupo o nagios irá utilizar para gerenciar sua interface administrativa.
# make all
# make install
Os comandos abaixo automatizam diversas configurações, uma grande facilidade integrada a partir da versão 3.
# make install-init
# make install-config
# make install-commandmode
Os arquivos de exemplo criados com os comandos acima ficaram locados em /usr/local/nagios/etc/.
Antes de continuarmos, será necessário fazer um único ajuste:
Edite /usr/local/nagios/etc/objects/contacts.cfg, localize a linha que contém o endereço de e-mail e altere colocando o endereço de e-mail do administrador. Em caso de sinistros, o administrador receberá uma mensagem em seu e-mail.
Em seguida configure o apache para usar o nagios. Ao contrário das versões anteriores, não é necessário mais tocar nas configurações do Apache, basta voltar na pasta que contém o código fonte descompactado do Nagios (se é que você saiu de lá ;-) ) e executar mais um make.
# make install-webconf
Este comando vai configurar o apache normalmente.
Finalmente, para se acessar a interface Web do Nagios, será solicitada a autenticação do usuário. Para esse processo, vamos usar o utilitário do apache "htpasswd", criando assim um arquivo de senhas criptografado que irá conter o nome do utilizador e sua senha, necessários para entrar no sistema.
Esse comando cria (-c) um arquivo "htpasswd.users", localizado na pasta onde o nagios foi instalado e este arquivo terá o registro de um usuário chamado admin, cujo a senha você definiu logo depois da execução desse comando.
Finalmente, reinicie o apache para que as configurações realizadas tenham efeito.
[2] Comentário enviado por danilo.roger em 04/01/2008 - 09:11h
Caro David, muito bom seu artigo, fui autor do artigo "Instalando o serviço de monitoramento Nagios" tratava-se do nagios 2.9, então como as coisas andam rápido estamos aí já na versão 3. Toda contribuição é sempre bem vinda! Continue assim!
[3] Comentário enviado por emilioeiji em 04/01/2008 - 11:27h
Em Service Detail me retornou a seguinte mensagem...
It appears as though you do not have permission to view information for any of the services 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.
[5] Comentário enviado por professordavid em 04/01/2008 - 12:01h
Geralmente isso pode ser um erro de permissão.. Verifique se a pasta /usr/local/nagios pertence ao usuário nagios e ao grupo nagcmd, e se eles tem permissão de escrita em todo o diretório.. Se não der posta aqui de novo ok.. e vamos tentar resolver..
[6] Comentário enviado por wakeup em 04/01/2008 - 12:40h
?comentario=Tudo certo, todos os comandos perfeitamente inseridos, ao abrir o endereço na minha rede local: http://192.168.1.1/nagios ele nao encontra nada, tenho squid e dansguardian rodando.. Será que tem algo a ver? Apesar disso já desabilitei os dois e nao funcionou, o apache roda direitinho, alguem pode me ajudar, fiquei super ancioso para testar esse cara ai.. Ah, percebi que no google, todos estão com o mesmo problema mas ATÉ AGORA SEM RESPOSTA.
[7] Comentário enviado por professordavid em 04/01/2008 - 13:15h
Voce quer dizer que não aparece computador nenhum monitorando?? Se for isso é normal por que voce deve adicionar as máquinas e dispositivos como switches manualmente pelo arquivo nagios.cfg, localizado em /usr/local/nagios/etc
[8] Comentário enviado por brunorns em 04/01/2008 - 13:50h
Eai pessoal..
emilioeiji para este problema
It appears as though you do not have permission to view information for any of the services 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.
vc deve editar o arquivo cgi.cfg em /usr/local/nagios/etc
la tem algumas liinhas assim:
[11] Comentário enviado por wakeup em 04/01/2008 - 15:06h
Não, não, PAGINA NAO PODE SER EXIBIDA..!! TEM MUITA GENTE COM ESSE PROBLEMA NO GOOGLE, MAS NINGUÉM SABE O QUE É... Se eu entrar com
~# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
ele vai retornar
Checking commands...
Checked 24 commands.
Checking time periods...
Checked 5 time periods.
Checking for circular paths between hosts...
Checking for circular host and service dependencies...
Checking global event handlers...
Checking obsessive compulsive processor commands...
Checking misc settings...
[13] Comentário enviado por predator em 04/01/2008 - 15:18h
caro professordavid...
você mencionou que os hosts devem ser adicionados manualmente no "/usr/local/etc/nagios.cfg", como adiciono um outro servidor linux para ser monitorado?
[16] Comentário enviado por dvs em 04/01/2008 - 16:24h
gostaria de saber como faço para adicionar as máquinas no arquivo nagios.cfg para serem monitoradas, alguem tem um arquivo de exemplo?
Esta é a mensagem que tenho
It appears as though you do not have permission to view information for any of the services 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.
Eu realmente não adicionei nada, segui rigorosamente o artigo!
Caso sim favor avisar! Obrigado pessoal!
raonidore@msn.com
[17] Comentário enviado por professordavid em 04/01/2008 - 16:47h
Amigo. basta ir lá e adicionar uma linha apontando para um arquivo de monitoramento. Ex.
cfg_file=/usr/local/nagios/etc/meulinux.cfg
Depois voce cria esse arquivo que voce indicou.. Caso voce não saiba como criar, em /usr/local/nagios/etc/ tem vários arquivos de exemplo com linux.cfg e windows.cfg, faça cópia de um e mude só as configurações básicas..
wakeup: Tenha certeza de que está usando o apache2. o comando make install-webconf dito no artigo só funciona nas versões 2 do apache, ok..
Flw a todos e obrigado por enriquercerem o meu artigo..
-------------------------------------------------------------------------------------------------------
"Se eu troco um pedaço de pão com outro pedaço de pão com alguem, cada um de nós vai embora com um pedaço de pão. Se eu troco uma ideia com outra ideia de alguem, cada um de nos vai embora com duas ideias."
[19] Comentário enviado por mondragon em 04/01/2008 - 17:04h
qm está com problema no webconf depende da distro, eu com o slack tive que muda o arquivo Makefile essa variavel
HTTPD_CONF=/usr/local/apache2/conf
outra coisa que tive que mudar foi incluir nagios.conf no httpd.conf do apache:
Include conf/nagios.conf
conseguir instalar ta rodando "ok" , nao dah erro nenhum consigo entrar em tdas opcoes, mas o status fica sempre PENDING e nao da nenhuma informacao... como se nao conseguisse coletar, estou soh com o localhost por enquanto só vou adicionar o resto qdo resolver esse "problema"
[20] Comentário enviado por professordavid em 04/01/2008 - 17:18h
No Debian e no Ubuntu levaram uns 15 minutos para o Status de tudo sair do pending.. leva um tempo mesmo que é natural até ele entender todos os protocolos...
[22] Comentário enviado por predator em 04/01/2008 - 17:30h
notei que dentro de "/usr/local/nagios/etc/objects/" estão os arquivos de configuração, mas não encontrei nenhum exemplo para adicionar outras maquinas Linux, tentei copiar o arquivo localhost.cfg para server1.cfg e alterei os dados e adicionei no nagios.cfg assim:
[24] Comentário enviado por jorcelangelo em 05/01/2008 - 03:13h
Gostei do seu artigo, agora aproveitando a sua deixa no final do seu artigo, seria interessante outro artigo com as configuracoes basicas, e avancadas.
Mas ate' agora vc ja levou nota 10!!!
Valeu pelo seu artigo,
[25] Comentário enviado por wakeup em 05/01/2008 - 15:56h
AINDA NADA, QUANDO TENTO RESTARTAR MEU APACHE APARECE ISSO:
~# /etc/init.d/apache2 restart
Forcing reload of web server (apache2)...apache2: Syntax error on line 189 of /etc/apache2/apache2.conf: Syntax error on lin
e 1 of /etc/apache2/httpd.conf: Could not open configuration file /etc/apache2/conf/nagios.conf: No such file or directory failed!
[28] Comentário enviado por luissmaia em 06/01/2008 - 19:15h
Instalando build-essential (11.3) ...
ae pessoal no meu sistema deu esse erro ai abaixo o que fazer?
luiz@Linux-Ubuntu:~$ sudo apt-get install libgd2-dev
Lendo Lista de Pacotes... Pronto
Construindo Árvore de Dependências
Lendo informação de estado... Pronto
O pacote libgd2-dev é um pacote virtual provido por:
libgd2-noxpm-dev 2.0.34~rc1-2ubuntu1.2
Você deve selecionar um explicitamente para instalar.
E: O pacote libgd2-dev não tem candidato para instalação
[29] Comentário enviado por dvs em 07/01/2008 - 00:52h
Amigos continuo sem saber como adicionar mais uma máquina linux, se devo colocar no localhost.cfg ou copiar e nomear modificando apenas o necessário, neste caso seria um .cfg para cada ip? tenho aproximadamente 60 máquinas pra adicionar!!!
<Directory "/usr/local/nagios/sbin">
# SSLRequireSSL
Options ExecCGI
AllowOverride None
Order allow,deny
Allow from all
# Order deny,allow
# Deny from all
# Allow from 127.0.0.1
AuthName "Nagios Access"
AuthType Basic
AuthUserFile /usr/local/nagios/etc/htpasswd.users
Require valid-user
</Directory>
Alias /nagios "/usr/local/nagios/share"
<Directory "/usr/local/nagios/share">
# SSLRequireSSL
Options None
AllowOverride None
Order allow,deny
Allow from all
# Order deny,allow
# Deny from all
# Allow from 127.0.0.1
AuthName "Nagios Access"
AuthType Basic
AuthUserFile /usr/local/nagios/etc/htpasswd.users
Require valid-user
</Directory>
NAO MAIS O QUE DEVE SER O PROBLEMA... AGUARDO O CARIDOSO APOIO DE ALGUÉM.. OBRIGADO A TODOS..
[31] Comentário enviado por professordavid em 07/01/2008 - 09:55h
sim, dvs, voce precisa copiar e nomear mudando apenas o necessário.. é um arquivo para cada maquina e cada um deve ser listado de forma independente, logo o seu arquivo nagios.cfg vai ter 60 linhas cfg_file a mais, uma para cada computador e sua pasta objects (ou outra qualquer que voce quiser) vai ter 60 arquivos .cfg novos, um para cada linux. . . dá trabalho, mas no final o resultado é muito satisfatório e o resultado é bem legal..
[32] Comentário enviado por brunorns em 07/01/2008 - 10:27h
Pessoal, não consigo adicionar máquinas com sistema Windows, quando eu descomento a linha cfg_file=/usr/local/nagios/etc/objects/windows.cfg
eu restarto ele e da esta mensagem abaixo.
[33] Comentário enviado por tiagoalam em 07/01/2008 - 10:47h
Seguindo o artigo e as contribuiçoes dos colegas, consegui configurar tudo com exito. Fico no aguardo de uma segunda parte do artigo, com mais configuraçoes e funcionalidades , muito obrigado pelo artigo , parabens!
[35] Comentário enviado por wakeup em 07/01/2008 - 11:53h
OBRIGADO AMIGO MONDRAGON, DEPOIS DO AJUSTE QUE SUJERIU, A COISA MUDOU PARA:
~# /etc/init.d/apache2 restart
Forcing reload of web server (apache2)...[Mon Jan 07 11:49:16 2008] [warn] The ScriptAlias directive in /etc/apache2/conf.d/
nagios.conf at line 9 will probably never match because it overlaps an earlier ScriptAlias.
[Mon Jan 07 11:49:16 2008] [warn] The Alias directive in /etc/apache2/conf.d/nagios.conf at line 26 will probably never matc
h because it overlaps an earlier Alias.
waiting
[Mon Jan 07 11:49:19 2008] [warn] The ScriptAlias directive in /etc/apache2/conf.d/nagios.conf at line 9 will probably never
match because it overlaps an earlier ScriptAlias.
[Mon Jan 07 11:49:19 2008] [warn] The Alias directive in /etc/apache2/conf.d/nagios.conf at line 26 will probably never matc
h because it overlaps an earlier Alias.
ALGUÉM TEM OUTRA SUGESTÃO, ESTOU USANDO DEBIAN IV ..
[36] Comentário enviado por wakeup em 07/01/2008 - 11:58h
Comentei as linhas que estão com problema, no arquivo de pache, ai ele nao reclama mais, na hora de restartar. Porém o NAGIOS ainda nao funciona, na hora de restarta-lo aparece o seguinte:
[38] Comentário enviado por professordavid em 09/01/2008 - 17:22h
esse erro é comum por que o usuário nagios não tem realmente um home.. nem bash por motivos de segurança. aconteceu comigo aqui, o mesmo erro, porém.. o nagios funcionou normal.. veja o erro que dá na tela do navegador e passa pra gente, mas o culpado não é essa mensagem aí...
[39] Comentário enviado por altairmsouza em 10/01/2008 - 09:15h
Professor,
- Ao navegar pelo firefox em: http://192.168.0.5/nagios, pede admin e senha, contudo da o seguinte erro:
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, webmaster@localhost and inform them of the time the error occurred, and anything you might have done that may have caused the error.
More information about this error may be available in the server error log.
- Da esse erro ao reiniciar o apache2:
servidor-internet:~# /etc/init.d/apache2 restart
Forcing reload of web server (apache2)...apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
waiting apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
.
[40] Comentário enviado por professordavid em 10/01/2008 - 10:03h
Os erros do apache e do nagios não são exatamente erros.. são avisos normais de coisas que valem a pena serem avisadas mas o sistema roda bem sem.. quanto a conexão, faz o seguinte:
Testa a configuração com aquele comando que eu dei no artigo e posta a saida de erro aqui para a gente, por favor. esse é o caminho para sabermos o que está acontecendo..
[43] Comentário enviado por altairmsouza em 11/01/2008 - 11:42h
Desculpe, segue o resultado
login as: root
root@192.168.0.5's password:
Last login: Thu Jan 10 19:31:21 2008
Linux servidor-internet 2.6.18-4-686 #1 SMP Wed May 9 23:03:12 UTC 2007 i686
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
servidor-internet:~# clear
servidor-internet:~# cd /
servidor-internet:/# clear
servidor-internet:/# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
[48] Comentário enviado por bilogato em 22/01/2008 - 14:10h
Olá amigo, estou com um pequeno obstáculo. Fiz todo o prcedimento de instalação e configuração do Nagios e deu tudo certo, porem quando vou adicionar um novo host e restarta o serviço, meu servidor me da a seguinte mensagem:
netfinity:/usr/local/nagios/var# /etc/init.d/nagios restart
Running configuration check... CONFIG ERROR! Restart aborted. Check your Nagios configuration.
Ja verifiquei os log's e não descobri onde está o erro.
Você tem alguma dica??
As linhas que acrescentei em " vim etc/objects/windows.cfg" foram:
32 define host{
33 use generic-host
34 host_name poseidon
35 alias poseidon
36 address 192.168.33.189
37 check_command check-host-alive
38 }
[49] Comentário enviado por professordavid em 22/01/2008 - 15:09h
execute o nagios com a opção -v /local/do/arquivo/nagios.cfg e checke os erros que ele gera.. lá é o melhor local para se ver os logs de erros do nagios e praticamente tudo aparece lá..
Esse comando está no meu artigo.. faz uma colinha lá..
[50] Comentário enviado por carlosczar em 24/01/2008 - 16:20h
Pessoal,
Estu com problemas na visualização do cgi status map. Já recompileio GD com ./configure --with-png=/usr/local/lib/ --with-freetype=/usr/local/lib/ --with-jpeg=/usr/local/lib/ --with-x e também o nagios com ./configure --prefix=/usr/local/nagios --with-cgiurl=/nagios/cgi-bin --with-htmurl=/nagios/ --with-nagios-user=nagios --with-nagios-group=nagios --with-command-group=nagcmd --enable-statusmap no entanto o browser retorna com página não encontrada.
Alguém pode ajudar?
Grato.
Observei também que o arquivo statusmap.cgi não é gerado na instalação do nagios. A versão que instalei é a 2.10
Daí vc não consegue acessar a interface "service details" entre outras , pois o usuário padrão é nagiosadmin , se tivesse criado nagiosadmin ao invés de admin ficaria 100%.
Cara instalar pacotes betas pra quem quer administrar rede acho que não pega bem , recomendo pro pessoal seguir o tuto más pegar o pacote estável , pois hj já existe.
[53] Comentário enviado por roosevelt_bh em 26/02/2008 - 13:26h
professor segui todos o seus passos mas quando vou dar o seguinte comando usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg ele me da esse erro (Executable file /usr/local/nagios/bin/nagios not found. Exiting.) SERA QUE ALGUEM AI PODE ME AJUDAR
[54] Comentário enviado por marcoslinss em 17/03/2008 - 17:22h
tenta isso wakeup
Fedora ships with SELinux (Security Enhanced Linux) installed and in Enforcing mode by default. This can result in "Internal Server Error" messages when you attempt to access the Nagios CGIs.
[56] Comentário enviado por bilogato em 11/04/2008 - 18:13h
Professor David, segui seu tutorial a risca e deu quase tudo certo. Coloquei o host que pretendo monitorar no arquivo /usr/local/nagios/etc/objects/localhos.cfg, restartei o nagios e tudo certo, mais quando tirei o cabo de rede do host adicionado o nagios nao reconhece que o host esta DOWN, e fica sempre UP, o que pode ser..
[57] Comentário enviado por xmontanhax em 11/05/2008 - 19:47h
olá, eu estou com um problema para montar o nagios, paguei o tutorial do próprio site pois estava bem explicado e quando coloco o "make install-webconf" ele da o Erro 1, dai nao sei como sair dessa parte se alguem puder ajudar, pois isso e para um trabalho pra faculdade e estou fazendo sem saber de linux. Obrigado
Error: Could not open config directory '/usr/local/nagios/etc/servers' for reading.
***> One or more problems was encountered while processing the config files...
Check your configuration file(s) to ensure that they contain valid
directives and data defintions. If you are upgrading from a previous
version of Nagios, you should be aware that some variables/definitions
may have been removed or modified in this version. Make sure to read
the HTML documentation regarding the config files, as well as the
'Whats New' section to find out what has changed.