Cacti + Plugins (Settings, Monitor, Thold e Weathermap) – Instalação e configuração

Introdução / Requisitos

Introdução

Não entrarei muito em detalhes sobre a ferramenta Cacti, por se tratar de uma ferramenta altamente difundida na Internet, assim como suas qualidade e defeitos.

Podemos salientar, de forma simplificada, que se trata de uma ferramenta de monitoramento de rede e devices de redes de dados através do protocolo SNMP.

Demonstrarei como implantar o Cacti, os plugins Settings, Monitor, Thold e Weathermap, as devidas configurações para seu uso e como ativar o protocolo nos hosts Windows.

Encontrei diversas fontes e materiais de pesquisas na Internet, mas todos de forma separada e alguns com erros de configurações, que só percebi quando estava implantando a ferramenta.

Este artigo propõe o que descrevi acima, mas tudo em um único artigo.

Requisitos

Softwares e hardware usados no projeto.

Para desenvolver este projeto, usei os devidos softwares e hardware descritos abaixo:

Hardware:

  • Computador Pentium 4.
  • HD de 80 GB.
  • Memória física de 1 GB.
  • Placa de rede Ethernet 10/100MBPS.

Softwares:

  • Sistema operacional GNU/Linux Debian 6.
  • Pacote apt-build.
  • Cacti e Cacti-Spine.
  • PHP 5.
  • Servidor MySQL 5.
  • Plugins Settings, Monitor, Thold e Weathermap.

Instalação

Instalando o Debian 6 e Cacti

A instalação do Debian 6 não irei abordar, uma vez que não é o foco do artigo. Mas, deixo umas dicas que sempre achei interessante:

Logo após a instalação do Debian, faço as seguintes alterações e instalações:

# vi /etc/apt/sources.list

E adiciono o repositório:

deb http://linorg.usp.br/debian/ squeeze main contrib non-free

# apt-get update

E:

# apt-get upgrade

Para atualizar o servidor.

# vim /boot/grub/grub.cfg

Para alterar as configurações da resolução de vídeo para:

vga=773

# aptitude install apt-build

Para instalar o pacote “apt-build”.

# aptitude install vim

Para instalar o editor de textos mais fácil de usar no GNU/Linux (em minha opinião).

# aptitude install openssh-server

Para acessar o servidor via SSH.

Após essas práticas, passaremos para a instalação do Cacti:

# apt-get install cacti cacti-spine

Com esse comando, ele irá achar todas as dependências para que a instalação do Cacti seja feita, por exemplo: MySQL 5, Apache 2 e PHP 5.

Após a instalação, ele irá mostrar uma tela de configuração do banco de dados do Cacti, basta seguir o que for pedido, que o banco será instalado.

Uma coisa importante que acho que vale ressaltar, é que quando a instalação é feita via apt-get, toda a instalação é feita em “/usr/share/cacti/site”, pois, na maioria dos tutoriais que encontrei pela Internet, a instalação do Cacti é toda feita com Wegt e com isso, muitos desses tutoriais apontam a pasta raiz como “/var/www/cacti”.

Pronto! Com o Cacti instalado, vá até um browser e digite:

http:\\IPDOSERVIDOR\CACTI

Com isso, é só seguir o restante da instalação. Ele mostrará os caminhos dos arquivos de configuração e, por padrão, ele já começa com o servidor sendo monitorado e dois usuários padrão: O admin e o Guest.

Como prátic,a deixo o admin somente para configuração, e o Guest para acesso aos gráficos.

Vá até a aba “Utilities”, do lado esquerdo da tela, selecione “User Managment”, nesta tela aparecerá os dois usuários. Clique em cada um deles para alterar permissões de acesso, troca de senhas e demais configurações que acharem necessárias.

Na opção “Settings”, também do lado esquerdo, você terá as opções de configuração da ferramenta, pode-se deixar todas como padrão que a ferramenta irá funcionar em perfeitas condições, mas, uma que acho interessante revisar é a aba “Paths”, ela contém o caminho de todos os arquivos e pastas para o Cacti funcionar.

As que estiverem em cor VERDE, é que a pasta foi encontrada, já as que tiverem em VERMELHO, não foi encontrado a pasta, mas por padrão, a instalação via apt-get já direciona tudo para o lugar correto de destino.

Baixando e instalando os plugins

Bom, eu baixei todos os plugins deste site:

Pois neste site, encontrei todos os plugins disponíveis e suas devidas documentações. Depois de baixar os plugins, eu acessei o servidor com um programa de acesso SSH, o WinSCP

Bem, feito isso, acessei o servidor pelo WinSCP e copiei todos os plugins para o servidor no diretório “/usr/share/cacti”. Beleza, agora é a hora de descompactar esses plugins.

Dentro do diretório “/usr/share/cacti”, execute os comandos:

# ls

Irá listar todos os arquivos dentro do diretório. Dentro terá:

  • cacti-plugin-0.8.7g-PA-v2.8.tar.gz
  • monitor-v1.3-1.tgz
  • php-weathermap-0.97a.zip
  • settings-v0.7-1.tgz
  • thold-v0.5.0.tgz.

Irá descompactar os arquivos tar.gz:

# tar -zxvf cacti-plugin-0.8.7g-PA-v2.8.tar.gz monitor-v1.3-1.tgz settings-v0.7-1.tgz thold-v0.5.0.tgz

Irá descompactar o arquivo ZIP:

# gzip php-weathermap-0.97a.zip

Irá mover todos os plugins para a pasta “plugins” dentro do Cacti, para que possamos visualizá-los via browser:

# mv monitor settings thold weathermap /usr/share/cacti/site/plugins

# cd /usr/share/cacti/cacti-plugin-arch
# patch -p1 -N –dry-run < cacti-plugin-0.8.7g-PA-v2.8.diff
# patch -p1 -N < cacti-plugin-0.8.7g-PA-v2.8.diff

Entre dentro do diretório descrito e execute os comandos acima para executar os arquivos diff. Esses comandos têm que ser executados dentro do diretório “/usr/share/cacti/cacti-plugin-arch”.

Outros sites que encontrei com material, dizem ser necessário editar o arquivo “global.php” que fica dentro de “/usr/share/cacti/site/include”, quando na verdade não é necessário, pelo menos na instalação via apt-get.

Na verdade, o arquivo que necessita ser alterado é o arquivo “config.php”, que fica dentro de “/usr/share/cacti/site/include”.

Abaixo, segue o arquivo já modificado e pronto para o uso:

/* make sure these values refect your actual database/host/user/password */
$database_type = “mysql”;
require(‘/etc/cacti/debian.php’);

/* load up old style plugins here */
$plugins=array();
$plugins[]=’settings’;
$plugins[]=’thold’;
$plugins[]=’monitor’;
$plugins[]=’weathermap’;
/*
Edit this to point to the default URL of your Cacti install
ex: if your cacti install as at http://serverip/cacti/ this
would be set to /cacti/
*/
$url_path = “/cacti/”;

/* load up old style plugins here */
$plugins = array();
//$plugins[] = ‘thold’;

/*
Edit this to point to the default URL of your Cacti install
ex: if your cacti install as at http://serverip/cacti/ this
would be set to /cacti/
*/
$url_path = “/cacti/”;

/* Default session name – Session name must contain alpha characters */
#$cacti_session_name = “Cacti”;

Observação: é necessário trocar onde está sem comentários, os locais comentados são default do arquivo.

Entre na pasta do plugin arch e dê o comando abaixo para criar a tabela no MySQL:

# mysql -p cacti < pa.sql

Faça o Apache reler os arquivos de configuração:

# service apache2 reload

Feito esses passos, vá até seu navegador e entre no servidor Cacti, no canto esquerdo, clique em “Settings” e, na aba acima, clique em “patch”.

Feito isso, caso seja necessário, acrescente os seguintes caminhos:

  • RRDTool Default Font Path → para: /usr/bin/rrdtool
  • Spine Poller File Path → para: /usr/sbin/spine

1. Depois, vá em: Utilies → User Management
2. Clique no usuário “admin” e libere as permissões de configurar os plugins em: “Realm Permission”.
3. E faça logoff.

Após isso, aparecerá do lado esquerdo do browser, a opção “Plugin Management” dentro desta aba, basta instalar e ativar os plugins.

Para que os plugins apareçam na tela descrita, é necessário que o arquivo “config.php” esteja exatamente como o descrito acima.

Configurando os plugins

Monitor

As configurações dos plugins são muito simples e começarei pelo plugin Monitor.

Para colocar um host para ser monitorado e aparecer suas estatísticas, na aba “Monitor” é necessário, quando estiver adicionando um host no servidor, marcar a opção “MONITOR HOST”.

Com isso, seu monitor já estará apto a ser monitorado ou, após adicionar o host no servidor, clique em “Devices”, marque o host a ser monitorado e clique na opção “ENABLE MONITORING”, na caixa de diálogo abaixo do host.

Thold

Para receber notificações de hosts offline é muito simples, basta clicar no lado esquerdo do browser, na opção “Settings” e na aba “Mail/DNS”.

  • Na primeira opção, coloque o e-mail usado para o envio de alerta.
  • Na segunda opção, escolha: SMTP
  • Na terceira opção, coloque o destinatário do e-mail, no caso, o mesmo da primeira opção.
  • Na quarta opção, coloque o nome de exibição do e-mail recebido, por exemplo: Cacti
  • Deixe a quinta opção sem alteração.
  • Na sexta opção está o diretório do Sendmail, caso não esteja com a cor verde, dê OK e altere para o diretório correto.
  • Na sétima opção, coloque o seu SMTP de envio.
  • Na oitava opção, a porta do SMTP.
  • Na nona opção, seu e-mail de envio, o mesmo da primeira opção.
  • Na décima e décima primeira opção, a senha de autenticação no servidor de e-mails.
  • Na décima segunda e décima terceira, o seu servidor DNS.
  • Na décima quarta opção, deixe sem alteração.

Para que um host receba e-mails de downtime, é necessário habilitar a opção para ele, para isso, clique em “Devices”, selecione o host e clique em “Apply Thresholds”. Ou na adição de um host, marque a opção “Global and List Below” na opção “Thold Up”.

Weathermap

Para esta configuração, teremos que editar alguns arquivos no servidor Cacti. Vamos lá:

Mude o nome do arquivo “editor-config.php-dist”:

# cd /usr/share/cacti/site/plugins/weathermap
# chmod 777 output
# cp editor-config.php-dist editor-config.php

# vim editor-config.php

Na linha 14, altere de:

$cacti_base = ‘C:/httpd-.2_x64/htdocs/cacti’;

Para:

$cacti_base = ‘/usr/share/cacti/site‘;

Na linha 20, altere de:

$cacti_url = “http://support.company.net/cacti/&#8221;;

Para:

Editar o arquivo “editor-config.php” como descrito acima. Após isso, faça:

# vim editor.php

Na linha 7, altere de:

$ENABLED=false;

Para:

$ENABLED=true;

Na linha 18, altere de:

$cacti_base = ‘../../’;

Para:

$cacti_base = ‘/usr/share/cacti/site‘;

Na linha 19, altere de:

$cacti_url = ‘/’;

Para:

$cacti_url = ‘http://IPDOSERVIDOR/cacti/‘;

# vim cacti-pick.php

Na linha 6, altere de:

$cacti_base = ‘../../’;

Para:

$cacti_base = ‘/usr/share/cacti/site’;

Na linha 7, altere de:

$cacti_url = ‘/’;

Para:

Com estas alterações, estamos habilitando as edições do Weathermap via browser.

Alterar as permissões de escrita para a pasta “cacti”. E com isso, finalizamos a edição no servidor Cacti:

# chown www-data.www-data -R /var/www/cacti*

Usando os plugins

Nesta parte do artigo, os plugins já estão instalados e configurados, bastando apenas usá-los. Então, vamos lá:

Monitor

Na aba “Monitor”, você verá as estatísticas dos seus host como tempo de uptime, última falha, tempo de ping entre outras informações.

Para que seus hosts apareçam na aba “Monitor”, basta ativar a monitoração quando seu host estiver sendo integrado ao Cacti, clicando em “monitor host” ou, na aba “Device”, clique no micro que queira monitorar e marque ele, após isso, escolha a opção ENABLE MONITORING. Pronto, assim os hosts passam a ser monitorados.

Thold

Nesta aba ficam os alarmes disparados por e-mail e os alarmes de hosts offline, lembrando que a configuração deste plugin foi mostrado no capítulo “Instalando os plugins”.

Para que seu host passe a ser passível de envio de alarmes, basta na adição do host, marcar a opção GLOBAL AND LIST BELOW, ou escolher o host e marcar a opção APPLY TRESHOLDS.

Weathermap

Nesta aba, iremos criar o mapa de nossa rede, para isso precisamos clicar em “EDITOR”, em “Named” crie um nome para o mapa e clique em “CREATE”.

Após isso, aparecerá abaixo de onde você criou o mapa, o nome do mapa criado, com isso, basta clicar no mapa criado.

Na próxima tela aparecerá diversas opções, vou relatar as mais importantes:

  • ADD NODE :: para adicionar seu host no mapa, clique nele e depois em qualquer ponto do mapa para criar o host. Após, clique no host criado para editá-lo. As opções para mudar são ICON FILENAME, para escolher o ícone e depois, clique em PICK FROM CACTI. Após isto abrirá os seus hosts cadastrados, clique em qual queira mapear e qual opção quer mapear, por exemplo HD, Rede, etc.
  • ADD LINK :: para criar os links entre os hosts do mapa, clique nos hosts que queira linkar e pronto.