Páginas

Oito anos de testes

shyrul@debian:~$ A grande idéia de postar tudo aqui, veio do simples fato de que depois de 8 anos de pesquisas, testes e muitos clientes satisfeitos, eu nunca tinha juntado todo o material que consegui com o decorrer do tempo, em um só lugar. A gente ai ficando velho e acaba esquecendo de coisas básicas. E também gostaria de deixar minha contribuição para todos.

.

segunda-feira, 30 de maio de 2011

Instalando o Cacti no FreeBSD

Cacti é uma solução gráfica completa rede projetada para aproveitar o poder do RRDTool armazenamento de dados e funcionalidade gráfica. Cacti proporciona um poller rápida e avançada gráfico templating, vários métodos de aquisição de dados e recursos de gerenciamento de usuários fora da caixa. Tudo isso é envolvido em um intuitivo e fácil de usar interface que faz sentido para as instalações LAN porte até redes complexas, com centenas de dispositivos.


Mãos a Obra !!! 
Antes de instalar o Cacti será necessário instalar o famoso FAMP (FreeBSD + Apache + MySQL + PHP)  e o rrdtool também.
Para a instalação do FAMP iremos utilizar o ports (/usr/ports).
Instalando MySQL
A instalação do MySQL é bem simples, basta executar os comandos abaixo:
# cd /usr/ports/databases/mysql51-server/
# make install clean
# mysql_install_db –user=mysql
Subindo o MySQL:
# mysqld_safe –user=mysql &
Instalando Apache
Para instalar o Apache execute os comandos abaixo:
# cd /usr/ports/www/apache22
# make install clean
Agora vamos subir o apache com o comando:
# apachectl start   
Verificando se o apache subiu:
# netstat -na -f inet | grep 80
Que estranho o apache não subiu. Vamos verificar o log:
# tail /var/log/httpd-error.log
[Wed Oct 15 15:31:20 2008] [warn] Init: Session Cache is not configured [hint: SSLSessionCache]
[Wed Oct 15 15:31:20 2008] [alert] (EAI 8)hostname nor servname provided, or not known: mod_unique_id: unable to find IPv4 address of “free”
Configuration Failed
Para resolver este problema é simples, basta editar o arquivo [i]/etc/hosts[/i] com o hostname da máquina, no exemplo o hostname é free:
# vi /etc/hosts
Procure pela linha 127.0.0.1 e a deixe assim:
127.0.0.1               free localhost localhost.my.domain
Caso queira que toda a vez que máquina for reiniciada subir com o hostname é necessário editar o arquivo [i]/etc/rc.conf[/i]:
free# vi /etc/rc.conf
E adicionar a seguinte linha (mude o free para o nome desejado):
hostname=”free”
Vamos tentar subir o apache novamente (não precisa se preocupar com os warnings):
free# apachectl start
httpd: Could not reliably determine the server’s fully qualified domain name, using 127.0.0.1 for ServerName
[Wed Oct 15 15:46:29 2008] [warn] (2)No such file or directory: Failed to enable the ‘httpready’ Accept Filter
Verificando se subiu:
free# netstat -na -f inet | grep 80
tcp46      0      0  *.80                   *.*                    LISTEN
Apache instalado!!
 Instalando PHP
Para instalar o PHP será necessário instalar algumas libs. Siga os comando abaixo para a instalação de todas as libs do PHP:
free# cd /usr/ports/lang/php5/
free# make install clean
Selecione a opção:
[X] APACHE    Build Apache module
Será necessário instalar outras libs, segue abaixo as libs necessárias:
free# cd /usr/ports/databases/php5-mysql/
free# make install clean
free# cd /usr/ports/devel/php5-pcre
free# make install clean
free# cd /usr/ports/www/php5-session/
free# make install clean
free# cd /usr/ports/net/php5-sockets/
free# make install clean
free# cd /usr/ports/net-mgmt/php5-snmp/
free# make install clean
free# cd /usr/ports/textproc/php5-xml
free# make install clean
PHP instalado!!
Instalando RRDTool
Execute os comandos abaixo:
free# cd /usr/ports/databases/rrdtool
free# make install clean
RRDTool instalado!!
Configurando Apache para ter suporte ao PHP
Procure pela linha DirectoryIndex index.html e deixe assim:
DirectoryIndex index.html index.php   
Procure por AddType e adicione as linhas:
AddType application/x-httpd-php .php
AddType application/x-httpd-source .phps
Para testar vamos ao diretório do Apache e criar um arquivo phpinfo.php para testar o PHP:
free# cd /usr/local/www/apache22/data
free# vi phpinfo.php


    Agora estamos pronto para instalar o cacti. A versão do cacti utilizada foi a 0.8.7b.
Vamos voltar ao diretorio raiz e baixar o cacti:
free# cd
free# wget http://www.cacti.net/downloads/cacti-0.8.7b.tar.gz
bash: wget: command not found
Ops!! Precisamos instalar o wget:
free# cd /usr/ports/ftp/wget
free# make install clean
Pronto, agora podemos baixar o cacti:
free# cd
free# wget http://www.cacti.net/downloads/cacti-0.8.7b.tar.gz
–17:25:36–  http://www.cacti.net/downloads/cacti-0.8.7b.tar.gz
           => `cacti-0.8.7b.tar.gz’
Resolving www.cacti.net… 66.59.109.191
Connecting to www.cacti.net|66.59.109.191|:80… connected.
HTTP request sent, awaiting response… 200 OK
Length: 2,005,650 (1.9M) [application/x-gzip]
100%[===========================================================================================>] 2,005,650    182.33K/s    ETA 00:00
17:25:52 (128.99 KB/s) – `cacti-0.8.7b.tar.gz’ saved [2005650/2005650]
 Descompactar, mover para o diretório do Apache e criar um link simbólico:
free# tar zxf cacti-0.8.7b.tar.gz
free# mv cacti-0.8.7b /usr/local/www/apache22/data/
free# cd /usr/local/www/apache22/data/
free# ln -fs /usr/local/www/apache22/data/cacti-0.8.7b/ cacti
Vamos criar as tabelas no banco de dados do cacti:
free# cd /usr/local/www/apache22/data/cacti
free# mysqladmin create cacti
free# mysql cacti < cacti.sql Vamos criar o user cactiuser para acesso as tabelas do cacti (como não definimos nenhuma senha para o user root a senha está em branco): free# mysql -u root -p Enter password: Welcome to the MySQL monitor.  Commands end with ; or \g. Your MySQL connection id is 5 Server version: 5.1.22-rc FreeBSD port: mysql-server-5.1.22 Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer. mysql> GRANT ALL PRIVILEGES ON cacti.* to cactiuser@localhost IDENTIFIED BY ‘suasenha’;
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> exit
Bye
free#
Agora vamos editar o arquivo para configurar o user do banco de dados que o cacti irá usar:
free# pwd
/usr/local/www/apache22/data/cacti-0.8.7b
free# vi include/config.php   
Procure pelo seguinte trecho:
$database_type = “mysql”;
$database_default = “cacti”;
$database_hostname = “localhost”;
$database_username = “cactiuser”;
$database_password = “cactiuser”;
$database_port = “3306″;   
Modifique as linhas que forem necessárias, neste exemplo apenas a linha [i]$database_password = “cactiuser”;[/i] deverá ser mudada:
$database_password = “suasenha”;
Bom agora vem a parte legal, vamos subir o cacti. Digite o endereço do server no browser com o /cacti, por exemplo, http://172.16.20.200/cacti
Seleciona uma New Install e clique em Next.
Verifique se todos os campos estão com [OK: FILE FOUND], caso não esteja verifique a instalação dos pacotes e libs citados no tutorial. Clique em Finish.
Deverá aparecer a tela de login, por padrão o user é admin e a senha é admin. Logo que logar será solicitado para mudar a senha.
Modifique a senha se clique em [i]Save[/i]. E a tela do cacti será aberta como mostra a imagem abaixo:
PRONTO!!!!! O cacti está instalado. Agora vamos instalar o [i]Plugin Architecture v2.1[/i] que possibilita instalar outros plugins adicionando ainda mais as funcionalidades do cacti.
Para instalar o Plugin Architecture basta seguir os passos a seguir:
free# cd
free# wget http://cactiusers.org/downloads/cacti-plugin-arch.tar.gz
–21:12:20–  http://cactiusers.org/downloads/cacti-plugin-arch.tar.gz
           => `cacti-plugin-arch.tar.gz’
Resolving cactiusers.org… 209.189.228.146
Connecting to cactiusers.org|209.189.228.146|:80… connected.
HTTP request sent, awaiting response… 302 Found
Location: http://mirror.cactiusers.org/downloads/plugins/cacti-plugin-arch.tar.gz [following]
–21:12:21–  http://mirror.cactiusers.org/downloads/plugins/cacti-plugin-arch.tar.gz
           => `cacti-plugin-arch.tar.gz’
Resolving mirror.cactiusers.org… 208.113.141.142, 209.189.228.147
Connecting to mirror.cactiusers.org|208.113.141.142|:80… connected.
HTTP request sent, awaiting response… 200 OK
Length: 173,327 (169K) [application/x-tar]
100%[===========================================================================================>] 173,327      189.13K/s            
21:12:22 (188.66 KB/s) – `cacti-plugin-arch.tar.gz’ saved [173327/173327]
free# tar zxf cacti-plugin-arch.tar.gz
free# mv cacti-plugin-arch /usr/local/www/apache22/data/cacti/
    Já baixamos e movemos para a pasta do cacti, agora basta aplicar o patch como mostra abaixo:
free# cd /usr/local/www/apache22/data/cacti/
free# patch -N -p1 < cacti-plugin-arch/cacti-plugin-0.8.7b-PA-v2.1.diff free# mysql cacti < cacti-plugin-arch/pa.sql Plugin Architecture v2.1 instalado. Agora precisamos modificar o arquivo global.phpcom os dados de user e senha no banco de dados. free# vi /usr/local/www/apache22/data/cacti/include/global.php Procure pelas seguintes linhas: $database_type = “mysql”; $database_default = “cacti”; $database_hostname = “localhost”; $database_username = “cactiuser”; $database_password = “cactiuser”; $database_port = “3306″; $config['url_path'] = ‘/’; Modifique as linhas que forem necessárias, neste exemplo apenas as linhas [i]$database_password = “cactiuser”;[/i] e [i]$config['url_path'] = ‘/’;[/i] deveram ser mudadas: $database_password = “suasenha”; $config['url_path'] = ‘/cacti/’; Pronto agora já podemos instalar os plugins que queremos. Vamos instalar como exemplo o [i]Monitor v0.8.2[/i]. Para fazer isso é simples, segue abaixo: free# cd free# wget http://cactiusers.org/downloads/monitor.tar.gz –21:19:07–  http://cactiusers.org/downloads/monitor.tar.gz            => `monitor.tar.gz’
Resolving cactiusers.org… 209.189.228.146
Connecting to cactiusers.org|209.189.228.146|:80… connected.
HTTP request sent, awaiting response… 302 Found
Location: http://mirror.cactiusers.org/downloads/plugins/monitor-0.8.2.tar.gz [following]
–21:19:07–  http://mirror.cactiusers.org/downloads/plugins/monitor-0.8.2.tar.gz
           => `monitor-0.8.2.tar.gz’
Resolving mirror.cactiusers.org… 209.189.228.147, 208.113.141.142
Connecting to mirror.cactiusers.org|209.189.228.147|:80… connected.
HTTP request sent, awaiting response… 200 OK
Length: 241,873 (236K) [application/x-gzip]
100%[===========================================================================================>] 241,873      201.60K/s            
21:19:09 (201.22 KB/s) – `monitor-0.8.2.tar.gz’ saved [241873/241873]
free# tar zxf monitor-0.8.2.tar.gz
free# mv monitor /usr/local/www/apache22/data/cacti/plugins/
Só falta modificar o [i]global.php[/i] adicionando o plugin, desta forma:
free# vi /usr/local/www/apache22/data/cacti/include/global.php
Procure pelo seguinte trecho (que vai estar logo abaixo da configuração do banco de dados):
$plugins = array();
//$plugins[] = ‘thold’;
Para adicionar o plugin coloque a seguinte linha:
$plugins[] = ‘monitor’;
Plugin adicionado!! Será necessário “ativar” o plugin na interface do cacti. No menu da esquerda selecione a opção User Management:
Selecione o usuário admin ou o usuário que poderá visualizar o monitor
Na parte do [i]Realm Permissions[/i], selecione os check box [i]Plugin Management[/i] e [i]View Monitoring[/i]
Note a aba Monitor que apareceu no menu superior

Nenhum comentário:

Postar um comentário