Dando continuidade ao monitoramento de redes com aplicativos de código aberto, hoje vou falar um pouco do cacti.
Cacti é uma solução de gráficos de rede completa designada para aproveitar a força de armazenamento de dados do RRDToll e suas funcionalidades gráficas. Cacti tem um poller rápido, um avançado template de gráficos, múltiplos métodos de aquisição de dados e administração de usuários. Toda a interface de monitoramento é englobada em uma interface gráfica intuitiva e fácil de usar.
Isso tudo é o que esta descrito no próprio site da cacti (http://www.cacti.net/), mas se não fosse pelos tutorias encontrados na internet eu não teria achado tão intuitiva assim a interface gráfica na hora de configurar algumas funcionalidades.
Bem, para começar, vamos instalar o cacti no nosso servidor de monitoramento que está com o sistema operacional CentOS 6.3.
Instalando o cacti no CentOS 6
Antes de instalar o cacti é necessário que tenha alguns pré requisitos:
- MySql Server - O cacti necessita de um banco de dados.
- NET-SNMP server - SNMP (Simple Network Management Protocol) é um protocolo usado para administração de rede.
- PHP com modulo net-snmp - Acessar dados SNMP usando PHP.
- Apache / lighttpd / ngnix webserver - Servidor Web para exibir os graficos criados com PHP e o RRDTOOL.
# yum install mysql-server mysql php-mysql php-pear php-common
php-gd php-devel php php-mbstring php-cli php-snmp php-pear-Net-SMTP
php-mysql httpd
Agora precisamos configurar o nosso servidor MySQL:
Criando a senha de admin
# mysqladmin -u root password NovaSenha
criando um banco de dados chamado cacti:
# mysql -u root -p -e 'create database cacti'
e criando o usuário chamado cacti:
# mysql -u root -p
mysql> GRANT ALL ON cacti.* TO cacti@localhost IDENTIFIED BY 'senha_do_usuário';
mysql> FLUSH privileges;
mysql> exit
mysql> GRANT ALL ON cacti.* TO cacti@localhost IDENTIFIED BY 'senha_do_usuário';
mysql> FLUSH privileges;
mysql> exit
agora instalamos o net-snmpd:
# yum install net-snmp-utils php-snmp net-snmp-libs
agora precisamos fazer algumas configurações no snmpd, entrando no arquivo snmpd.conf com o comando abaixo:
# vim /etc/snmp/snmpd.conf
neste arquivo precisamos fazer algumas mudanças:
A primeira linha a se mudar é:
# sec.name source community
com2sec local localhost public
a segunda linha é onde tem os grupos:
# groupName securityModel securityName
group MyRWGroup v1 local
group MyRWGroup v2c local
group MyRWGroup usm local
group MyRWGroup v1 local
group MyRWGroup v2c local
group MyRWGroup usm local
a próxima linha delete os views e inclua:
# Make at least snmpwalk -v 1 localhost -c public system fast again.
# name incl/excl subtree mask(optional)
view all included .1 80
# name incl/excl subtree mask(optional)
view all included .1 80
em seguida procure e altere:
# group context sec.model sec.level prefix read write notif
access MyRWGroup "" any noauth exact all all none
access MyRWGroup "" any noauth exact all all none
e altere:
syslocation Unknown (edit /etc/snmp/snmpd.conf)
syscontact Root (configure /etc/snmp/snmp.local.conf)
syscontact Root (configure /etc/snmp/snmp.local.conf)
na última alteração você tire do comentário o pass e o altere:
pass .1.3.6.1.4.1.4413.4.1 /usr/bin/ucd5820stat
pronto salve e feche o arquivo com :wq
agora ativamos o snmpd:
# /etc/init.d/snmpd start
# chkconfig snmpd on
# chkconfig snmpd on
com o comando abaixo podemos saber qual informação estamos recebendo pelo snmpd:
# snmpwalk -v 1 -c public localhost IP-MIB::ipAdEntIfIndex
IP-MIB::ipAdEntIfIndex.127.0.0.1 = INTEGER: 1
IP-MIB::ipAdEntIfIndex.172.16.32.9 = INTEGER: 2
IP-MIB::ipAdEntIfIndex.127.0.0.1 = INTEGER: 1
IP-MIB::ipAdEntIfIndex.172.16.32.9 = INTEGER: 2
Pronto, agora instalamos o cacti:
# yum install cacti
agora precisamos instalar as tabelas do cacti no banco, digite o comando abaixo para localiza-las:
# rpm -ql cacti | grep cacti.sql
/usr/share/doc/cacti-0.8.8a/cacti.sql
/usr/share/doc/cacti-0.8.8a/cacti.sql
e depois digite o comando abaixo para inseri-las no nosso banco de dados cacti:
# mysql -u cacti -p cacti < /usr/share/doc/cacti-0.8.8a/cacti.sql
Pronto! O cacti foi instalado, agora precisamos configura-lo. Edite o arquivo /etc/cacti/db.php com o comando:
# vim /etc/cacti/db.php
edite:
$database_type = "mysql";
$database_default = "cacti";
$database_hostname = "localhost";
$database_username = "cacti";
$database_password = "geti%2@12&";
$database_port = "3306";
$database_ssl = false;
$database_default = "cacti";
$database_hostname = "localhost";
$database_username = "cacti";
$database_password = "geti%2@12&";
$database_port = "3306";
$database_ssl = false;
salve e feche o arquivo.
Agora vamos configurar o httpd:
Edite o arquivo /etc/httpd/conf.d/cacti.conf:
# vim /etc/httpd/conf.d/cacti.conf
De acesso total ou somente à sua rede ao Cacti:
Alias /cacti /usr/share/cacti
<Directory /usr/share/cacti/>
<IfModule mod_authz_core.c>
# httpd 2.4
Require host localhost
</IfModule>
<IfModule !mod_authz_core.c>
# httpd 2.2
Order deny,allow
Deny from all
Allow from all
</IfModule>
</Directory>
<Directory /usr/share/cacti/>
<IfModule mod_authz_core.c>
# httpd 2.4
Require host localhost
</IfModule>
<IfModule !mod_authz_core.c>
# httpd 2.2
Order deny,allow
Deny from all
Allow from all
</IfModule>
</Directory>
salve e feche o arquivo.
agora reiniciamos o httpd com o comando:
# service httpd restart
por fim, vamos executar o cacti cronjob com o comando:
# vim /etc/cron.d/cacti
e retiramos o comentário da linha:
*/5 * * * * cacti /usr/bin/php /usr/share/cacti/poller.php > /dev/null 2>&1
agora o cacti parece que esta pronto para ser configurado:
abrimos o navegador web e digitamos:
http://seu.servidor/cacti/
ou
http://ip.do.servidor/cacti/
ou
http://ip.do.servidor/cacti/
aparecerá uma tela como essa:
clique em "Next" e depois escolha "New Install" e "Next" novamente, cairemos na próxima página:
Nesta página, não fizemos alterações, apenas nos certificamos que todos os caminhos foram encontrados, se tudo estiver verde clicamos em "Finish".
Pronto, agora só precisamos digitar o usuário e a senha na pŕoxima janela.
Usuário: admin
Senha: admin
No primeiro acesso será solicitado a troca da senha.
Ok! Cacti funcionando.
Inclusão devices e configuração de gráficos
No primeiro acesso o cacti já vem com o device localhost configurado, precisamos apenas alterar o ip para que ele mostre os gráficos padrões gerados do nosso servidor.
Na página inicial após o login, no menu a esquerda vá em "Management" e clique em "Devices", você verá o localhost ja pré-configurado e com o estado de up, clique em cima dele.
Na próxima página você configura como quiser, mas o principal é colocar o IP do seu servidor no campo "Hostname", fazendo isso ele já começara a gerar os gráficos pré-configurados. Veja a figura abaixo:
Aguarde alguns minutos e clique na aba "graps" na parte superior esquerda e poderá ver os gráficos sendo montados do nosso servidor.
Incluir e configurar um switch
Para incluir um switch, na janela inicial de "console", clique em "create device", ou no menu a direita na parte "Management" clique em "Devices";
Clique em "Add" no canto superior direito;
Na próxima tela configure os dados do switch:
Description: Digite o nome para o switch
Hostname: Digite o IP do switch
Host Template: Escolha o template mais adequado para o dispositivo, ou deixe em branco (futuramente postarei uma explicação sobre templates e como criar novos templates)
Nas opções de "Availability/Reachability Options" você escolhe como quer que o dispositivo seja detectado, se é por ping ou por snmp, ou pelos dois.
E abaixo, nas opções de "SNMP Options" você escolhe a versão de snmp que o switch utiliza para enviar os dados e configura de acordo com as configurações de snmp do mesmo.
Após salvar é só clicar em "New graph" no menu a esquerda, localizar o switch em Host e escolher as portas as quais quer monitorar.
É isso por enquanto, estou estudando como gerar templates novos e como incluir plugins no cacti. Em um próximo post descreverei o passo a passo destas configurações.
Até a próxima.
Essa postagem foi baseada e escrita a partir dos seguintes links:
cacti.net
Viva o Linux
http://www.cyberciti.biz
Incluir e configurar um switch
Para incluir um switch, na janela inicial de "console", clique em "create device", ou no menu a direita na parte "Management" clique em "Devices";
Clique em "Add" no canto superior direito;
Na próxima tela configure os dados do switch:
Description: Digite o nome para o switch
Hostname: Digite o IP do switch
Host Template: Escolha o template mais adequado para o dispositivo, ou deixe em branco (futuramente postarei uma explicação sobre templates e como criar novos templates)
Nas opções de "Availability/Reachability Options" você escolhe como quer que o dispositivo seja detectado, se é por ping ou por snmp, ou pelos dois.
E abaixo, nas opções de "SNMP Options" você escolhe a versão de snmp que o switch utiliza para enviar os dados e configura de acordo com as configurações de snmp do mesmo.
Após salvar é só clicar em "New graph" no menu a esquerda, localizar o switch em Host e escolher as portas as quais quer monitorar.
É isso por enquanto, estou estudando como gerar templates novos e como incluir plugins no cacti. Em um próximo post descreverei o passo a passo destas configurações.
Até a próxima.
Essa postagem foi baseada e escrita a partir dos seguintes links:
cacti.net
Viva o Linux
http://www.cyberciti.biz