Este artigo trata da instalação e configuração do Cacti, uma excelente ferramenta que supre com muitos louros a falta de um front-end "oficial" do RRDTOOL. E para quem não sabe, RRDTOOL é uma ferramenta usada para monitorar servidores e equipamentos de rede.
Bem pessoal, há muito tempo tenho vontade de compartilhar meus humildes
conhecimentos de Linux, sou certificado BrainBench, fui certificado Conectiva (já venceu) e atualmente atuo na área de gerenciamento de redes, trabalhando com algumas ferramentas proprietárias e outras free (O Cacti é uma delas).
Para podermos entender o funcionamento da ferramenta, é interessante entendermos o que na verdade é o Cacti, conceitos de SNMP e como chegamos até ele.
Todos (ou quase todos) já ouviram falar do famoso MRTG, entretanto eu particularmente sempre tive uma certa dificuldade com o MRTG, tendo em vista não existir uma interface que fizesse controle de nível de acesso, interação com os gráficos, dentre outras funcionalidades. Por isso sempre achei o MRTG uma ferramenta um pouco incompleta. Nas minhas pesquisas sobre o MRTG acabei chegando até o RRDTOOL (caramba, um tutorial sobre o Cacti e o cara só fala de MRTG e agora RRDTOOL? o que é isso? Calma que você vai entender) que é desenvolvido pela mesma pessoa Tobi Oetiker - obrigado Tobi :-).
O conceito do RRDTOOL é bem diferente do MRTG (não iremos aqui abordar
conceitualmente o RRDTOOL nem o MRTG), entretanto não existia uma interface de
gerenciamento, então apesar do RRDTOOL ser melhor que o MRTG, continuávamos no
mesmo problema, a falta de uma interface de gerenciamento. Nessas indas e vindas, acabei chegando até o Cacti (www.cacti.net - obrigado Ian Berry). Fiquei fascinado com a ferramenta, que como disse acima, supre com muitos louros a falta de um front-end "oficial" do RRDTOOL. A ferramenta disponibiliza um ambiente de operação agradável e muito acessível a qualquer usuário, com controle de acesso por nível de usuário (você pode configurar usuários e as informações que eles poderão ou não ver), o processo de inclusão de novos equipamentos para serem gerenciados também é muito simples e fora uma infinidade de plugins disponíveis no fórum oficial da ferramenta (forums.cacti.net).
Fiquei fascinado com este fórum, um nível muito grande de add-ons disponíveis, cobrindo quase tudo o que se pretende monitorar.
O foco aqui é gerencia de servidores e equipamentos de rede que suportem o protocolo SNMP (SNMP significa Simple Management Network Protocol), inicialmente concebido como alternativa ao protocolo CMIP (mais completo), mas que na verdade não foi adotado devido a sua complexidade. O SNMP, por ser mais simples e dar a conta do recado, acabou virando padrão de mercado e hoje já estamos no SNMP V3 (a diferença para a V1 e V2 é que na V3 existem mais dois campos: usuário e senha).
Para utilizar SNMP, basta configurar no equipamento (varia de equipamento para equipamento, mas o processo é trivial, muito fácil). Após habilitar o protocolo, você precisa definir uma comunidade (community) que pode ser somente de leitura ou leitura e escrita. Qual a diferença básica entre ler e escrever no SNMP? Neste caso o processo de leitura, é o de consultar uma determinada variável e posteriormente receber o valor (WALK ou GET). O processo de escrita, é o processo de modificar o estado da variável (SET).
Mas, enfim vamos ao Cacti. Estou considerando que os equipamentos que você
deseja monitorar (servidores, switches, roteadores e etc) estão com o protocolo SNMP habilitado e que você conhece a comunidade de leitura (community read-only). Neste primeiro tutorial, a distribuição escolhida foi Debian, no próximo (pouca coisa muda) será o Red Hat.
[3] Comentário enviado por michelpereira em 14/10/2005 - 19:16h
Ótimo artigo, mas para melhorar a segurança da instalação é recomendado criar um usuário para o cacti utilizar e não usar o root.
mysql> GRANT ALL ON cacti.* TO root@localhost IDENTIFIED BY 'coloqueasenhadorootaqui';
[4] Comentário enviado por jeffestanislau em 14/10/2005 - 20:15h
Cara, achei muito interessante, vou até testar... mas para um artigo no qual você dá o destaque por se tratar de um front-end, ficou faltando mostrar o front-end.
Lembre-se que no primeiro momento o seu artigo será apenas lido, e por isso algumas imagens lhe ajudará a cativar o leitor.
[5] Comentário enviado por lucgomes em 17/10/2005 - 09:28h
Jeffersor,a seginda parte ja esta na moderacao do VOL, nao coloquei as imagens porque na verdade e o meu primeiro artigo aqui e nao sabia como faze-lo com imagens. No segundo artigo esta repleto de imagens.
[6] Comentário enviado por pexao em 17/02/2006 - 16:35h
Muito bom, meus parabens!!!
Segui o tutorial a risca, e mesmo assim, nao estou conseguindo monitorar minhas maquinas. Instalei o cliente nelas, porem acho que tem algumas coisas que nao funcionaram, exemplo acho que eh necessario criar uma comunidade SNMP né?
Bem, gostaria de ajuda, se puder entrar em contato comigo.
[7] Comentário enviado por marileof em 25/05/2006 - 16:20h
Luciano,
Obrigado pelo espaço. Bom, instalei com sucesso o cacti usando S.O Debian, mais como nada é tão fácil, estou com problemas nos gráficos. O Cacti conecta nos equipamentos utilizando snmp, não tenho nenhum problema no mysql, pois quando adiciono um host, ele é cadastrado na table de Host do mysql, o unico problema é que a figura do Gráfico não aparece. Sera que tem alguma coisa em relação com RRDTOOL , ou Dg e etc..??
[8] Comentário enviado por eduradaelli em 10/07/2006 - 23:30h
Luciano,
Fiz a instalação toda certinha, so que na hora de acessar pelo browser da a seguinte mensagem:
Fatal error: Call to undefined function: mysql_connect() in /var/www/cacti/lib/adodb/drivers/adodb-mysql.inc.php on line 338
[9] Comentário enviado por drosenfeld em 11/09/2006 - 15:16h
Estou instalando o cacti agora... não estava indo...
o que faltava era:
no arquivo /etc/apache/conf.d/cacti.conf (apache 1.3)
acertar o caminho nde está localizado o cacti.
é isso ai abraço
[10] Comentário enviado por ZeitGeist em 19/09/2006 - 17:35h
Apenas um comentário: o RRDTool NÃO substitui o MRTG, e nem o poderia, por ser um aplicativo de banco de dados. O MRTG pode fazer uso do RRDTool ao invés de armazenar os dados capturados em arquivo texto. Diga-se de passagem, o MRTG melhora DRAMATICAMENTE a performance com a adoção do RRDTool.
[12] Comentário enviado por lucgomes em 09/08/2007 - 18:48h
Verifica se o suporte ao mysql esta habilitado ao php, acho que php -l ou php -m. Edita o php.ini para que de suporte ao mysql, edita a linha que fala do mysql e tira o comentário.
[13] Comentário enviado por dtux em 09/10/2007 - 08:39h
Cara muito bom só q no meu está dando o seguinte erro:
Error
You have created a new database, but have not yet imported the 'cacti.sql' file. At the command line, execute the following to continue:
mysql -u cactiuser -p cacti < cacti.sql
This error may also be generated if the cacti database user does not have correct permissions on the cacti database. Please ensure that the cacti database user has the ability to SELECT, INSERT, DELETE, UPDATE, CREATE, ALTER, DROP, INDEX on the cacti database.
Mas o banco e as tabelas foram criadas e dados os previlegios corretos, como devo proceder...????
[14] Comentário enviado por fmendes em 29/10/2007 - 17:01h
Ola, instalei o cacti e ele esta monitorando varias coisas bacana, porém ele não esta monitorando CPU de maquinas windows, tem alguma ideia do que pode ser???
[18] Comentário enviado por andrelpgoncalves em 01/10/2008 - 14:09h
Parabéns pelo artigo. Baixei inclusive a mesma versão do cacti para evitar transtornos. Agora é partir para inclusão dos dispositivos na árvore de monitoria.
[19] Comentário enviado por tools em 24/10/2008 - 09:02h
Bom artigo, bem explicado.
Para a distribuição que não vem com o pacote net-snmp instalado precisa fazer a instalação.
Este pacote é necesário para o Cacti funcionar e pode ser baixado de: ftp://ftp.freesnmp.com/mirrors/net-snmp/
[25] Comentário enviado por israel.maciel em 21/10/2009 - 08:05h
Erro Call to undefined function mysql_connect(). Veja se no diretório /etc/php5/apache2/ tem o arquivo php.ini, se não tiver copie para esse diretório. Esse arquivo pode ser encontrado em outro diretório /etc/php5/cli/. Para copiar basta copiar o comando "cp /etc/php5/cli/php.ini /etc/php5/apache2/" (sem aspas). E verifique se a linha extension=mysql.so esteja descomentada e reinicie o apache.
[26] Comentário enviado por removido em 24/11/2009 - 19:42h
“Luciano, parabéns pelo tutorial, bem detalhado e com ótimas explicação, foi uma mão na roda para solucionar um problema em meu servidor-teste da faculdade.”
[30] Comentário enviado por thejack em 08/03/2012 - 10:19h
Não é a toa q tem conceito 10. Parabens e obrigado pela disseminação de conhecimento. Comecei a implantar agora, mas só da tela abrir já é intuitivo.
Um forte abraço e sucesso.
[31] Comentário enviado por joelma.andrade em 13/03/2012 - 17:31h
Olá pessoal. Instalei o cacti porem ele demora por volta de duas horas para exibir os níveis no gráfico. Alguém já passou por experiencia semelhante?
Obrigada.
[32] Comentário enviado por andyblessing em 02/05/2016 - 21:37h
Olá muito bom to tutorial, tenho uma duvida
O cacti , escaneia a rede ou para monitorar tenho que instalar algum agente nas estaçoes??
Abraço desde já agradeço
[33] Comentário enviado por lucgomes em 03/05/2016 - 08:45h
Existe um plugin chamado Discovery que voce pode utilizar. Lembrando que as máquinas que voce quer adicionar, ou dispositivos de rede, devem estar com o SNMP habilitado e voce precisa configurar o plugin corretamente depois de instalado.
Link do Plugin:http://docs.cacti.net/plugin:discovery