eGiovanni

3 de maio de 2009

SNMP e CACTI – Instalação

Filed under: Sem categoria — admin @ 20:40

Resolvi postar aqui como forma de documentar minha atividade na faculdade de instalação e configuração do CACTI

É necessário uma alteração no arquivo /etc/snmp/snmpd.comf

Abaixo um modelo:

# First, map the community name “public” into a “security name”

#       sec.name  source          community
com2sec    publicUser    127.0.0.1    publica
com2sec    privateUser    127.0.0.1    privada
####
# Second, map the security name into a group name:

#       groupName      securityModel securityName
group   publicGroup    v1    publicUser
group   privateGroup    v2c    privateUser

####
# Third, create a view for us to let the group have rights to:

# Make at least  snmpwalk -v 1 localhost -c public system fast again.
#       name           incl/excl     subtree         mask(optional)
view    systemview    included   .1
view    systemview    included   .1

####
# Finally, grant the group read-only access to the systemview view.

#       group          context sec.model sec.level prefix read   write  notif
access  publicGroup “”    any       noauth    exact  systemview all all
access    privateGroup “”    any    noauth    exect    systemview    all    all
# —————————————————————————–

Inicie o serviço snmp# /usr/sbin/snmpd -c /etc/snmp/snmp.conf

Se precisar modificalo não esqueça da dica abaixo:

altere #vim /etc/snmp/snmpd.conf

pare o serviço #killall snmpd

Inicie novamente o serviço snmp# /usr/sbin/snmpd -c /etc/snmp/snmp.conf

verifique se o servico está ativo:

#nmap -p 161 -sU 127.0.0.1

ou

#netstat -anu

Pode testar com uma consulta via shell

snmpwalk -v 1 -c publica 127.0.0.1 .1

O resultado e uma listagem de toda a árvore snmp.

Se voçe teve sucesso até aqui, pode proceguir :

Manual de instalação do CACTI
Baixar rrdtool

http://www.linuxpackages.net/download.php?id=12916

Baixar o cacti

http://www.cacti.net/download_cacti.php

Habilitar o apache
root@darkstar:~# apachectl start
httpd: Could not reliably determine the server’s fully qualified domain name, using 127.0.0.1 for ServerName

Habilitar o php
vim /etc/httpd/httpd.conf
Procurar pela linha php
/php

Descomentar a linha
#Include /etc/httpd/mod_php.conf

Editar a linha index.html e incluir index.php na frente
<Ifmodule dir_module>
DirectoryIndex index.php index.html
</IfModule>

Criando a pagina inicial do php
criar a pagina phpinfo.php dentro de /var/www/htdocs e a pasta cacti

root@darkstar:~# cd /var/www/htdocs/
root@darkstar:/var/www/htdocs# ls
apache_pb22_ani.gif  apache_pb22.png  apache_pb.png  index.html
apache_pb22.gif      apache_pb.gif    htdig/         manual/
root@darkstar:/var/www/htdocs# vim phpinfo.php
root@darkstar:/var/www/htdocs# mkdir cacti
root@darkstar:/var/www/htdocs# ls
apache_pb22_ani.gif  apache_pb22.png  apache_pb.png  htdig/      manual/
apache_pb22.gif      apache_pb.gif    cacti/         index.html  phpinfo.php
root@darkstar:/var/www/htdocs#

Importando a base de dados do cacti para o mysql

Aqui a minha maior dificuldade pois eu já possuía o mysql funcionando devido a disciplina do professor Willians e já havia configurado senha de root para o mysql assim os comandos mudam um pouco pois é exigido senha.

Logando no mysql
mysql -u root -p

Criando banco de dados cacti
mysql> CREATE DATABASE cacti;

Comprovando a criação do banco.

mysql> show databases;
+——————–+
| Database           |
+——————–+
| information_schema |
| cacti              |
| futebol            |
| mysql              |
+——————–+
4 rows in set (0,00 sec)

Importando as tabelas do CACTI

root@darkstar:/opt/cacti-0.8.7d# mysql -u root -pSenhaSemDarEspaço cacti < cacti.sql
root@darkstar:/opt/cacti-0.8.7d#

Comprovando a criação das tabelas

mysql> use cacti;
mysql> show tables;
+—————————+
| Tables_in_cacti           |
+—————————+
| cdef                      |
| cdef_items                |
| colors                    |
| data_input                |
| data_input_data           |
| data_input_fields         |
| data_local                |
| data_template             |
| data_template_data        |
| data_template_data_rra    |
| data_template_rrd         |
| graph_local               |
| graph_template_input      |
| graph_template_input_defs |
| graph_templates           |
| graph_templates_gprint    |
| graph_templates_graph     |
| graph_templates_item      |
| graph_tree                |
| graph_tree_items          |
| host                      |
| host_graph                |
| host_snmp_cache           |
| host_snmp_query           |
| host_template             |
| host_template_graph       |
| host_template_snmp_query  |
| poller                    |
| poller_command            |
| poller_item               |
| poller_output             |
| poller_reindex            |
| poller_time               |
| rra                       |
| rra_cf                    |
| settings                  |
| settings_graphs           |
| settings_tree             |
| snmp_query                |
| snmp_query_graph          |
| snmp_query_graph_rrd      |
| snmp_query_graph_rrd_sv   |
| snmp_query_graph_sv       |
| user_auth                 |
| user_auth_perms           |
| user_auth_realm           |
| user_log                  |
| version                   |
+—————————+
48 rows in set (0,00 sec)

mysql>

Criando usuário e senha para cacti

mysql> GRANT ALL PRIVILEGES ON *.* TO cacti@localhost IDENTIFIED BY “cacti” WITH GRANT OPTION;
Query OK, 0 rows affected (0,00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0,00 sec)

mysql>

Copiando arquivos da pasta /opt/cacti-0.8..7d para /var/www/htdocs/cacti/
Tentei insistentemente mas só consegui copiar e colar via modo grafico.

Dando privilegios aos diretorios rra/ e log/

*Criei usuário local cacti com senha cacti.

root@darkstar:/var/www/htdocs/cacti# chown -R cacti rra/ log/
root@darkstar:/var/www/htdocs/cacti#

Configurando acesso do CACTI ao banco mysql via PHP

root@darkstar:/var/www/htdocs/cacti/include# vim config.php

dentro de config.php via vim digite:

/* make sure these values refect your actual database/host/user/password */
$database_type = “mysql”;
$database_default = “cacti”;
$database_hostname = “localhost”;
$database_username = “cacti”;
$database_password = “cacti”;
$database_port = “3306″;

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

Adicionando uma tarefa no crontab.

O certo seria
root@darkstar:~#crontab -e
Porem eu errei e não funcionou nem del nem backspace dai depois de uma pesquisa descobri que posso utilizar o vim
assim:

root@darkstar:~# vim /var/spool/cron/crontabs/root
Adicionei a linha abaixo.
*/5 * * * * /usr/bin/php -f /var/www/htdocs/cacti/poller.php 1> /dev/null

Agora no browser

Digite:

http://127.0.0.1/cacti/

5.2 ? Conclusão

Por incrível que pareça não tive problemas, pois ia  executando e testando conforme se pode observar acima, o mysql já estava em produção com a disciplina do Willians, os problemas foram mais básicos crontab, comando cp, alguns comando mysql, enfim foi demorado porem tranqüilo.

5.3- Bibliografia

http://manoelcampos.wordpress.com/tag/banco-de-dados/

http://www.clockwatchers.com/mysql_dump.html

http://www.vivaolinux.com.br/artigo/Instalando-a-ferramenta-CACTI/

http://www.vivaolinux.com.br/artigo/Instalando-o-Cacti-em-plataforma-Debian/

http://www.vivaolinux.com.br/dica/Instalacao-rapida-do-CACTI-(SNMP)-no-Debian/

Powered by WordPress