Este artigo mostra como instalar, configurar e integrar as ferramentas de gerenciamento de rede, Nagios 3.4.1 e Cacti 0.8.8a, na distribuição CentOS 6.3 32 bits.
Acesse o Cacti, vá na aba NPC e verifique se está tudo funcionando normalmente.
Caso o NPC não mostre os hosts configurados, verifique nos logs quais os erros apresentados.
Verificando se há algum erro:
# tail -f /var/log/messages
Caso haja algum erro no MySQL, execute os seguinte comandos:
# mysql -u root -p cacti
mysql> alter table npc_eventhandlers add long_output TEXT NOT NULL default '' after output;
mysql> alter table npc_hostchecks add long_output TEXT NOT NULL default '' after output;
mysql> alter table npc_hoststatus add long_output TEXT NOT NULL default '' after output;
mysql> alter table npc_notifications add long_output TEXT NOT NULL default '' after output;
mysql> alter table npc_servicechecks add long_output TEXT NOT NULL default '' after output;
mysql> alter table npc_servicestatus add long_output TEXT NOT NULL default '' after output;
mysql> alter table npc_statehistory add long_output TEXT NOT NULL default '' after output;
mysql> alter table npc_systemcommands add long_output TEXT NOT NULL default '' after output;
Reinicie os serviços do Nagios e Apache:
# service httpd restart ; service nagios restart
Pronto! Cacti e Nagios totalmente integrados.
Conclusão
Seguindo exatamente os passos descritos neste tutorial, consegui configurar corretamente o Nagios 3.4.1 e o Cacti 0.8.8a, além de integrar as ferramentas, tornando mais fácil o monitoramento dos meus hosts.
Não abordei como configurar os arquivos de hosts do Nagios neste tutorial, pois existem vários outros, inclusive aqui no VOL, que o fazem muito bem.
O foco principal deste tutorial é a integração dos softwares, pois mesmo seguindo vários tutoriais da Internet, não consegui fazê-lo. Não porque estavam errados, porém, a maioria mostrava a configuração dos softwares nas suas versões mais antigas.
Por isso, precisei ir nos sites oficiais de cada software para configurar com perfeição esta integração, contando com os softwares mais atuais. Além disso, contei com a ajuda de um cara fera em GNU/Linux, que também faz parte do VOL: leandrojpg.
Referências bibliográficas
Nagios Core. Fedora Quickstart (Acessado em 17 de agosto de 2012):
[3] Comentário enviado por leandromagela em 22/08/2012 - 22:57h
Parabéns Jorge. A implantação dessas ferramentas permite um gerenciamento dos recursos computacionais em rede. Agora só temos que colocar mão na massa. rsrsr.
[6] Comentário enviado por douglas_dksh em 25/08/2012 - 21:36h
Cara precisa efetuar alguns ajustes
1) precisa mudar o tipo de socket de tcp para unix em /usr/local/nagios/etc/ndo2db.cfg
vim /usr/local/nagios/etc/ndo2db.cfg
[...]
socket_type=unix
#socket_type=tcp
2) precisa trocar o tipo de saída e a saída em /usr/local/nagios/etc/ndomod.cfg
vim /usr/local/nagios/etc/ndomod.cfg:
output_type=unixsocket
#output_type=tcpsocket
#output=127.0.0.1
output=/usr/local/nagios/var/ndo.sock
Quando utilizado a configuração como você passou no artigo temos o seguinte erro em /var/log/messages.
Aug 25 21:19:05 centos6 nagios: ndomod: NDOMOD 1.4b9 (10-27-2009) Copyright (c) 2009 Nagios Core Development Team and Community Contributors
Aug 25 21:19:05 centos6 nagios: ndomod: Could not open data sink! I'll keep trying, but some output may get lost...
Aug 25 21:19:05 centos6 nagios: Event broker module '/usr/local/nagios/bin/ndomod.o' initialized successfully.
Aug 25 21:19:05 centos6 nagios: Finished daemonizing... (New PID=5033)
Aug 25 21:19:21 centos6 nagios: ndomod: Still unable to connect to data sink. 0 items lost, 285 queued items to flush.
Aug 25 21:19:37 centos6 nagios: ndomod: Still unable to connect to data sink. 0 items lost, 380 queued items to flush.
Aug 25 21:19:53 centos6 nagios: ndomod: Still unable to connect to data sink. 0 items lost, 460 queued items to flush.
Aug 25 21:20:09 centos6 nagios: ndomod: Still unable to connect to data sink. 0 items lost, 555 queued items to flush.
Aug 25 21:20:25 centos6 nagios: ndomod: Still unable to connect to data sink. 0 items lost, 640 queued items to flush.
Aug 25 21:20:41 centos6 nagios: ndomod: Still unable to connect to data sink. 0 items lost, 728 queued items to flush.
Aug 25 21:20:57 centos6 nagios: ndomod: Still unable to connect to data sink. 0 items lost, 823 queued items to flush.
Após efetuados os ajustes é só reiniciar o nagios
/etc/init.d/nagios restart
Agora vamos ter a seguinte saída nos logs em /var/log/messages
Aug 25 21:33:21 centos6 nagios: ndomod: NDOMOD 1.4b9 (10-27-2009) Copyright (c) 2009 Nagios Core Development Team and Community Contributors
Aug 25 21:33:21 centos6 nagios: ndomod: Successfully connected to data sink. 4996 queued items to flush.
Aug 25 21:33:29 centos6 nagios: ndomod: Successfully flushed 4996 queued items to data sink.
Aug 25 21:33:29 centos6 nagios: Event broker module '/usr/local/nagios/bin/ndomod.o' initialized successfully.
Aug 25 21:33:29 centos6 nagios: Finished daemonizing... (New PID=5312)
[7] Comentário enviado por jms.slip em 26/08/2012 - 00:45h
douglashx, valeu, mas o meu servidor foi configurado exatamente assim, com o socket tcp, e não unix. Seguindo outros tutoriais da internet, o meu ocorreu o mesmo problema. Depois fiz exatamente o que está descrito no artigo acima é que funcionou normalmente com o socket tcp. Verifique as versões dos softwares que você instalou, se você seguiu exatamente oque está descrito no tutorial acima, deveria funcionar normalmente. Abraços, e obrigado novamente.
[8] Comentário enviado por eddymarley em 26/08/2012 - 15:34h
Tive que fazer umas alterações no usuário, ele não estava subindo o serviço do nagios de forma correta.
outra coisa que eu tive que alterar é a instalação do pacotes, precisei de pacotes para compilação.
[10] Comentário enviado por ed_gar_d em 29/08/2012 - 12:48h
Olá, tentei baixar o pacote do npc, mas só obtive erro.
Tentei pegar o mesmo em outros sites, mas não obtive êxito.
Consegui fazer a instalação de todos os pacotes, mas a integração do Nagios com o Cacti não está rolando.
Alguém tem alguma solução ai?
Quando fui execultar /usr/local/nagios/bin/ndo2db -c /usr/local/nagios/etc/ndo2db.cfg tive este erro database server is either not yet supported, que resolvi recomplilando o ndoutils assim:
[13] Comentário enviado por ed_gar_d em 29/08/2012 - 14:13h
Obrigado bruno, eu usei esse arquivo, mas no meu cacti, quando entro na aba desse plugin, fica tudo em branco....
Configurei tudo conforme o artigo, mas não aparece nada na aba do plugin..
[14] Comentário enviado por jms.slip em 29/08/2012 - 18:42h
eddymarley, se você ir no "Instalação: plugin NPC e NDOUtils" vai ver que eu estou fazendo isso.
Valeu brunovictor86 por postar a solução para Debian. Eu uso somente CentOS, por isso desenvolvi esse artigo em cima dele.
ed_gar_d, fiz várias vezes essa configuração e nunca me deu problema. Confira novamente os passos do tutorial, e verifique algumas coisas básicas, como por exemplo, a arquitetura do seu S.O. Lembrando esse tutorial foi desenvolvido em cima de um sistema 32bits. Verifique também os logs, qualquer coisa posta ai pra gente ver, Vlw!
[15] Comentário enviado por barreto13 em 02/09/2012 - 20:18h
Parabéns pelo artigo jms.splip!
Seguindo passo a passo este artigo, consegui implementar com sucesso a instalação e integração do nagios, cacti e seus plugins npc e ndoutils em uma maquina virtual com CentOS 6.2 32b.
Sep 2 20:03:02 localhost nagios: Nagios 3.4.1 starting... (PID=30216)
Sep 2 20:03:02 localhost nagios: Local time is Sun Sep 02 20:03:02 BRT 2012
Sep 2 20:03:02 localhost nagios: LOG VERSION: 2.0
Sep 2 20:03:02 localhost nagios: ndomod: NDOMOD 1.4b9 (10-27-2009) Copyright (c) 2009 Nagios Core Development Team and Community Contributors
Sep 2 20:03:02 localhost nagios: ndomod: Successfully connected to data sink. 0 queued items to flush.
Sep 2 20:03:02 localhost nagios: Event broker module '/usr/local/nagios/bin/ndomod.o' initialized successfully.
Sep 2 20:03:02 localhost nagios: Finished daemonizing... (New PID=30219)
Caso haja duvidas em um assunto ja discutido aqui nos comentarios, utilizei o socket tcp na configuração do arquivo ndo2db e tipo de saida tcp e 127.0.0.1.
[16] Comentário enviado por felipe123br em 11/12/2012 - 18:05h
Cara, quando tento startar o serviço "service nagios start", o seguinte erro me aparece:
Starting nagios:su: aviso: não foi possÃvel mudar para o diretório /home/nagios: Arquivo ou diretório não encontrado
This account is currently not available.
[17] Comentário enviado por stefano.esmeris em 08/01/2013 - 09:11h
Pessoal, estou fazendo a integração em um Centos 5.x x64 com o Nagios Core 3.2.3 e o NDOutils baixado via yum do repositorio. Porem esta dando um erro em /var/log/messages como segue:
[root@srv-001 log]# grep ndomod messages
Jan 7 15:03:47 s_local@srv-001 nagios: Error: Module '/usr/lib64/nagios/brokers/ndomod.so' is using an old or unspecified version of the event broker API. Module will be unloaded.
Jan 7 15:03:47 s_local@srv-001 nagios: Event broker module '/usr/lib64/nagios/brokers/ndomod.so' deinitialized successfully.
Jan 8 08:53:54 s_local@srv-001 nagios: Error: Module '/usr/lib64/nagios/brokers/ndomod.so' is using an old or unspecified version of the event broker API. Module will be unloaded.
Jan 8 08:53:54 s_local@srv-001 nagios: Event broker module '/usr/lib64/nagios/brokers/ndomod.so' deinitialized successfully.
Alguem tem ideia do que eventualmente pode estar acontecendo? Revisei todas as configurações citadas no artigo e comparei com outras de outras fontes e aparentemente o problema não esta aqui. Outro detalhe que acho conveniente falar é que o meu Apache esta protegendo o acesso a interface web do nagios atraves da autenticação tal como segue:
[18] Comentário enviado por jms.slip em 30/01/2013 - 10:03h
stefano.esmeris, eu tive vários problemas quando tentei instalar o Nagios através do repositório, aconselho você compila-los, assim será mais fácil resolver o problema. Mas de qualquer forma, verifique as permissões dos diretórios e se os arquivos foram realmente criados.
felipe123br, você seguiu os passos do artigo? Posta ai seus confs pra gente ver!
[19] Comentário enviado por leocipriano em 12/04/2013 - 00:20h
Boa Noite..
eu sou totalmente leigo em linux segui o tutorial a risca nao apresentou nenhum erro nas instalações mais na hora que vou abrir o http://seu_ip/cacti apresenta a mensagem
""Not Found
The requested URL /cacti was not found on this server.
Apache/2.2.15 (CentOS) Server at 192.168.15.26 Port 80""
o Nagios eu consigo abrir o endereço logar e acessar mais tirando a pagina home todos os links que eu acesso aparecem
"" Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, root@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.
Apache/2.2.15 (CentOS) Server at 192.168.15.26 Port 80""
[20] Comentário enviado por celfs em 18/04/2013 - 16:42h
Caros Amigos,
No meu caso efetuei a instalação normalmente porem quando entro na interface web aparece no cantos esquerdo
All Host and Service Comments
Last Updated: Thu Apr 18 16:39:29 BRT 2013
Updated every 90 seconds
Nagios® Core™ 3.5.0 - www.nagios.org
Logged in as nagiosadmin
- Notifications are disabled
- Service checks are disabled
[21] Comentário enviado por rodolfosouzasp em 17/06/2013 - 00:21h
Caros...
Dica: Caso não abra a página web de nenhuma serviço (Nagios, Apache, Cacti), o IPTABLES pode estar bloqueando esta ação...
Salve o serviço e pare o mesmo para testar...
# service iptables save
# service iptables stop
Reinicie os dois serviços e tente abrir novamente...
No caso do amigo felipe123br basta apenas criar uma pasta com o nome NAGIOS e dar as permissões de DONO para o usuário "nagios"
# cd /home
# mkdir nagios
# chown nagios.nagios nagios
Ainda continuo testando o tutorial... mais neste caso celfs creio que deveria executar o comando /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg para ver que erro ele retorna... Se for o caso poste aqui o retorno que o mesmo der...
[23] Comentário enviado por dstelles em 24/06/2013 - 12:56h
rodolfosouzasp, fiz o que você falou no comentario acima do iptables e era realmente ele quem estava bloqueando o acesso. Como faço para resolver? Deixo desabilitado o iptables mesmo ou tem alguma outra saida?
[24] Comentário enviado por rodolfosouzasp em 24/06/2013 - 14:10h
dstelles,
Cara aqui no meu servidor eu deixei o IPTABLES desabilitado mesmo, pois não terei este servidor ligado diretamente com a internet.
Porém existe a possibilidade de você liberar através de regra para que o acesso via http funcione normalmente sem "baixar" o firewall.
Obs.: Aqui mesmo no site existe alguns tópicos deste tipo... Basta realizar testes e ver se funciona...
Se for o caso parecido com o meu, você pode até deixar que o IPTABLES já iniciar OFF quando o linux reiniciar.
[30] Comentário enviado por rodolfosouzasp em 26/06/2013 - 12:13h
Humm, Cara na parte das configurações do banco de dados (database "CACTI", Usuário "CACTI") vc fez tudo certinho?
Dê uma olhada novamente nas configuraçoes dos arquivos:
/usr/local/nagios/etc/ndo2db.cfg e
/usr/local/nagios/etc/ndomod.cfg
Compara com o do Tutorial, vê se estão certinhos...
Obs.: Tive este problema, mais era por conta do meu usuário CACTI não estar conseguindo conexão com o Banco através do nome da mnha máquina, ou seja, ele estava tentando conectar como "cacti@minha_maquina.br" só que o usuário que tinha criado era apenas como "cacti@localhost".
Neste caso de banco de dados um software que me ajudou muito foi o phpmyadmi que da uma interface web do seu mysql... a dica é instalar ele e ver como esta tb suas configurações de banco. Com esses passos ai, é bem simples a instalação
# vim /etc/httpd/conf.d/phpmyadmin.conf
Comentar todas as linhas e acrescentar alguns "alias"
--------------------------------------------------------
#Alias /phpmyadmin /var/www/phpmyadmin
#
#<Directory /var/www/phpmyadmin>
# DirectoryIndex index.php
# Order deny,allow
# Allow from all
#</Directory>
Alias /phpmyadmin /usr/share/phpmyadmin
Alias /phpMyAdmin /usr/share/phpmyadmin
Alias /mysqladmin /usr/share/phpmyadmin
--------------------------------------------------------
Salvar e Sair do arquivo
Ajustar o seguinte arquivo tb:
# vim /usr/share/phpmyadmin/config.inc.php
Localizar as linhas e deixar conforme abaixo:
--------------------------------------------------------
$cfg['Servers'][$i]['auth_type'] = 'http';
/* Server parameters */
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['compress'] = false;
/* Select mysqli if your server has it */
$cfg['Servers'][$i]['extension'] = 'mysql';
--------------------------------------------------------
# service httpd restart
E pronto, pode acessar via Web: http://<ip do servidor>/phpmyadmin (User e Senha do Linux mesmo)
[32] Comentário enviado por dstelles em 26/06/2013 - 14:34h
Rodolfo,
Os arquivos estão exatamente como no tutorial e pelo phpmyadmin eu consegui acessar normalmente a base de dados do Cacti, olhei as permissões de usuarios e estao corretas as configurações. Voce teria skype ou algo do tipo que pudessemos conversar?
[35] Comentário enviado por batistafst em 11/10/2013 - 16:52h
Prezados preciso da ajuda de voces, a instalacao do nagios foi tranquila, porem me deparo com o mesmo problema do nosso amigo luciano984 na hora de importar o banco de dados do cacti:
# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
-bash: /usr/local/nagios/bin/nagios: is a directory
[36] Comentário enviado por rodolfosouzasp em 04/11/2013 - 14:01h
Boa Tarde,
Ainda não me deparei com esta msg..
Pode ser algum problema de permissão nos arquivos ou diretórios do Nagios...
Já tentou compilar os arquivos do Nagios novamente, baseado no tutorial mesmo, e ver se o erro permanece?
[37] Comentário enviado por diegomeireles em 19/11/2013 - 11:59h
Olá! Sou iniciante no Linux e estou seguindo o passo a passo das configurações do Nagios + Cacti no Centos a risca. Consegui chegar até a parte de baixar os plugins do nagios, porem não consegui baixar por que acredito que o endereço http://downloads.sourceforge.net/project/nagiosplug/nagiosplug não possui mais os pacotes. Onde posso encontrar esses plugins para que eu possa dar continuidade a configuração? Grato e otimo artigo.
[38] Comentário enviado por diegomeireles em 20/11/2013 - 18:00h
Boa tarde!
Estou seguindo o tutorial e quanto vou acessar o Cacti, é exibida esta mensagem:
FATAL: Cannot connect to MySQL server on 'localhost'. Please make sure you have specified a valid MySQL database name in 'include/config.php'
Ja verifiquei as configurações e tentei algumas dicas colocadas aqui nos comentarios (inclusive a instalação do PHPMYADMIN proposta pelo amigo RODOLFOSOUZASP só que eu não sei usar o PHPMYADMIN ).
Não consigo acessar o CACTI e estou parado no processo.
Alguem poderia ajudar?
OK PESSOAL, NÃO PRECISA MAIS, CONSEGUIR RESOLVER O PROBLEMA. ESTAVA NO NOME DO USUARIO NO ARQUIVO include/config.php.
NESTE ARQUIVO, ONDE PEDE PARA ALTERAR O NOME DO USUARIO, EU CRIEI UM NOVO MAS NAS VERDADE ERA PARA USAR O MESMO USUARIO CRIADO NO BANCO DE DADOS QUE NO CASO "Cacti".
ACREDITO QUE FOI UMA MÁ INTERPRETAÇÃO DO TUTORIAL.
ABRAÇOS.
[39] Comentário enviado por rodolfosouzasp em 03/01/2014 - 11:27h
Realmente diegomeireles, nesta parte ficou um pouco confuso... Mais que bom que conseguiu...
[38] Comentário enviado por diegomeireles em 20/11/2013 - 18:00h:
Boa tarde!
Estou seguindo o tutorial e quanto vou acessar o Cacti, é exibida esta mensagem:
FATAL: Cannot connect to MySQL server on 'localhost'. Please make sure you have specified a valid MySQL database name in 'include/config.php'
Ja verifiquei as configurações e tentei algumas dicas colocadas aqui nos comentarios (inclusive a instalação do PHPMYADMIN proposta pelo amigo RODOLFOSOUZASP só que eu não sei usar o PHPMYADMIN ).
Não consigo acessar o CACTI e estou parado no processo.
Alguem poderia ajudar?
OK PESSOAL, NÃO PRECISA MAIS, CONSEGUIR RESOLVER O PROBLEMA. ESTAVA NO NOME DO USUARIO NO ARQUIVO include/config.php.
NESTE ARQUIVO, ONDE PEDE PARA ALTERAR O NOME DO USUARIO, EU CRIEI UM NOVO MAS NAS VERDADE ERA PARA USAR O MESMO USUARIO CRIADO NO BANCO DE DADOS QUE NO CASO "Cacti".
ACREDITO QUE FOI UMA MÁ INTERPRETAÇÃO DO TUTORIAL.
ABRAÇOS.