codigo=10449
Pré-instalação
As instalações são baseadas em um servidor com o Slackware 12, instalado com o CD 1 FULL.
Determinadas partes deste artigo podem parecer iguais a do meu primeiro artigo aqui da comunidade,
justifico este fato relatando que novamente eu postei aqui um arquivo proveniente de uma catalogação de
serviços de rede implantados em meu ambiente de rede, adaptando essa catalogação para postá-la aqui na
comunidade em forma de artigo.
Como alguns serviços são utilizados por ambos os softwares, parte deste artigo pode soar como cópia do
primeiro, porém, apenas aproveitei e adaptei a implantação dos serviços por julgar desnecessário um novo
manual para estes serviços.
Pré-instalação
Inicialmente crie um diretório onde vamos baixar os pacotes a serem instalados:
# mkdir /pacotes
Entre no diretório:
# cd /pacotes
Baixe os pacotes:
Apache:
# wget http://linorg.usp.br/apache/httpd/httpd-2.2.13.tar.gz
PHP:
# wget http://br2.php.net/get/php-5.2.10.tar.gz/from/this/mirror
Cacti:
# wget http://www.cacti.net/downloads/cacti-0.8.7e.tar.gz
Cacti Spine:
# wget http://www.cacti.net/downloads/spine/cacti-spine-0.8.7e.tar.gz
RRDTOOL:
# wget http://oss.oetiker.ch/rrdtool/pub/rrdtool-1.3.8.tar.gz
RRDTOOL (dependências):
# wget http://cairographics.org/releases/cairo-1.8.8.tar.gz
# wget http://cairographics.org/releases/pixman-0.15.20.tar.gz
# wget ftp://ftp.slackware-brasil.com.br/slackware-12.0/slackware/x/libXrender-0.9.2-i486-1.tgz
# wget http://ftp.gnome.org/pub/gnome/sources/intltool/0.35/intltool-0.35.5.tar.bz2
Após baixar os pacotes nos links acima, iniciaremos as instalações dos componentes.
OpenSSL 0.9.8e
Utilizaremos o OpenSSL para gerar os certificados e chaves para que o site do Cacti funcione em http
seguro (https). Como já informei no meu artigo anterior, no meu cenário isso é extremamente necessário,
recomendo a todos, porém, caso não veja necessidade, pule esta parte do processo.
É importante lembrar novamente que como é um sistema de utilização interna, não possuo a necessidade de
compra de um certificado válido, portanto eu mesmo decidi gerá-lo por conta própria no meu servidor.
Compilando:
# ./config --prefix=/usr/local/open-ssl
# make
# make install
Abaixo vou descrever os comandos que utilizei para gerar as chaves e certificados do site.
# cd /etc/ssl/private/
Resultado:
e is 65537 (0x10001)
Enter pass phrase for nome_chave.key: senha
Verifying - Enter pass phrase for nome_chave.key: senha
Gerando a "requisição de certificado" - arquivo onde estarão os dados dos certificados a serem gerados
pela CA, que no nosso caso é este mesmo servidor onde o serviço do CACTI irá funcionar:
Resultado:
Necessitamos, agora, fazer com que a chave funcione sem a necessidade da digitação de sua senha, pois
sem esta configuração a senha utilizada na criação da chave deverá ser fornecida toda vez que iniciarmos o
nosso servidor WEB. Abaixo seguem as linhas de comandos necessárias para que isso seja possível.
Resultado:
# mv nome_chave.key nome_chave.backup
Faça com que a chave com senha embutida passe ser a chave principal:
# mv nome_chave.key.insecure nome_chave.key
Gerando o certificado para o site do Cacti, com validade de um ano, com base nas informações do arquivo
# openssl x509 -req -days 365 -in req.cert.csr -signkey nome_chave.key -out
graficos.seudominio.com.br.crt
# mv graficos.seudominio.com.br.crt /etc/ssl/certs/
Enfim, com a(s) chave(s) e certificado(s) gerado(s), podemos passar para o próximo passo, que será a
configuração do servidor http (Apache). Abaixo seguem os caminhos dos nossos arquivos gerados para
recapitularmos.
Volte ao diretório onde estão os pacotes, descompacte os arquivos do Apache e entre no diretório:
Compilando:
Passaremos para a instalação do PHP e das bibliotecas necessárias e voltaremos novamente nas
configurações do servidor WEB, agora não há a necessidade de configuração e iniciação do serviço.
# cd /pacotes
# installpkg gd-2.0.35-i486-2.tgz
# installpkg libX11-1.1.1-i486-4.tgz
# installpkg libXau-1.0.3-i486-1.tgz
# installpkg libXdmcp-1.0.2-i486-1.tgz
# installpkg libXpm-3.5.6-i486-1.tgz
# installpkg libjpeg-6b-i486-5.tgz
# installpkg libpng-1.2.37-i486-1_slack12.0.tgz
# installpkg libxcb-1.0-i486-2.tgz
# installpkg libxml2-2.6.28-i486-1.tgz
# installpkg zlib-1.2.3-i486-2.tgz
# installpkg fontconfig-2.4.2-i486-2.tgz
# installpkg libXrender-0.9.2-i486-1.tgz
Ou simplesmente:
# installpkg *.tgz
PHP 5.2.10
Utilizaremos o PHP 5.2.10 no servidor WEB.
Volte ao diretório onde estão os pacotes, descompacte os arquivos do PHP e entre no diretório:
# cd /pacotes
# tar -zxf php-5.2.10.tar.gz
# cd php-5.2.10
Compilando:
O Slackware 12 foi instalado com o CD 1 Full, provavelmente ele já deve ter instalado o serviço do
Apache. Devemos mudar o script de iniciação do serviço para iniciar o Apache correto, que é esse que foi
compilado alguns itens atrás. Segue abaixo o código do script.
# touch /etc/rc.d/rc.httpd
# vi /etc/rc.d/rc.httpd
#!/bin/sh
#
# /etc/rc.d/rc.httpd
#
# Start/stop/restart
# the Apache (httpd) web server.
#
# To make Apache start automatically at boot, make this
# file executable: chmod 755 /etc/rc.d/rc.httpd
#
# For information on these options, "man apachectl".
case "$1" in
'start')
/usr/local/apache2/bin/apachectl -k start
;;
'stop')
/usr/local/apache2/bin/apachectl -k stop
killall httpd
rm -f /var/run/httpd/*.pid
;;
'restart')
/usr/local/apache2/bin/apachectl -k restart
;;
*)
echo "Usage: $0 {start|stop|restart}"
;;
esac
# chmod +x /etc/rc.d/rc.httpd
# vi /usr/local/apache2/conf/httpd.conf
User daemon
Group daemon
Para:
User apache
Group apache
ServerAdmin email@exemplo.com.br
Localize o parâmetro:
DirectoryIndex index.html
E o altere para:
Localize o parâmetro:
ServerName example.com.br:80
E o altere para:
ServerName graficos.seudominio.com.br:443
#DocumentRoot "/usr/local/apache2/htdocs"
Listen 80
Para:
Listen 443
Logo depois vêm as configurações dos sites. Inicialmente configure conforme abaixo:
DocumentRoot /var/www/cacti
<Directory "/var/www/cacti">
Options FollowSymLinks
AllowOverride All
Order deny,allow
Allow from all
</Directory>
SSLEngine on
SSLOptions +FakeBasicAuth +ExportCertData +StrictRequire
SSLCertificateFile "/etc/ssl/certs/graficos.seudominio.com.br.crt "
SSLCertificateKeyFile "/etc/ssl/private/nome_chave.key "
Obs.: Inclusive eu costumo remover qualquer tipo de index do antigo diretório raiz, caso queira fazer o
mesmo é só rodar este comando:
# rm /usr/local/apache2/htdocs/index*
Obs.: Posteriormente iremos reconfigurar estes parâmetros para o funcionamento do Cacti, de momento o
utilizaremos apenas para testar o funcionamento do Apache e do PHP.
Em nosso site configuramos seu diretório raiz para /var/www/cacti, tendo em vista que esse diretório ainda
não existe, devemos criá-lo com o comando abaixo:
# mkdir /var/www/cacti
# touch /var/www/cacti/info.php
Agora é iniciar o servidor Apache conforme o script que criamos no início das configurações.
# /etc/rc.d/rc.httpd start
Resultado:
Obs.: Adicione uma entrada ao seu DNS, resolvendo, assim, o nome que você cadastrou no site
(ServerName graficos.seudominio.com.br:443) para o IP deste servidor. Se necessário, de acordo com cada
ambiente, deverá ser feito também um NAT para a publicação na WEB.
https://graficos.seudominio.com.br/info.php
ou
https://ip.ip.ip.ip/info.php
Deverá aparecer uma página com as informações do PHP que instalamos (5.2.10).
RRDTOOL - Dependências
Instalaremos os pacotes para que RRDTOOL seja instalado. Volte ao diretório onde estão os pacotes e faça
as instalações conforme abaixo:
# cd /pacotes
# tar -jxf intltool-0.35.5.tar.bz2
# cd intltool-0.35.5
Compilando:
# ./configure
# make
# make install
Próximo pacote:
# cd ..
# tar -zxf pixman-0.15.20.tar.gz
# cd pixman-0.15.20
Compilando:
# ./configure
# make
# make install
Próximo pacote:
# cd ..
# tar -zxf cairo-1.8.8.tar.gz
# cd cairo-1.8.8
Compilando:
# ./configure
# make
# make install
RRDTOOL 1.3.8
O RRDTOLL será utilizado pelo sistema do Cacti para a geração dos gráficos. Volte ao diretório onde estão
os pacotes, descompacte os arquivos do RRDTOOL e entre no diretório:
# cd /pacotes
# tar -zxf rrdtool-1.2.30.tar.gz
# cd rrdtool-1.2.30
Compilando:
# ./configure
# make
# make install
Crie um link (atalho) para o seu executável, pois o Cacti busca o mesmo no local abaixo:
# ln -s /usr/local/rrdtool-1.3.8/bin/rrdtool /usr/loca/bin/rrdtool
MySQL
O Slackware 12 foi instalado com o CD 1 Full, provavelmente ele já deve ter instalado o serviço do
MySQL. Como o serviço já instalado no servidor está dentro das especificação necessárias ao Cacti,
utilizaremos o serviço do MySQL já existente.
# chmod +x /etc/rc.d/rc.mysqld
# mysql_install_db
Inicie o MySQL:
# /etc/rc.d/rc.mysqld start
Iniciaremos agora a instalação do serviço do Cacti, utilizado para a geração dos mais variados gráficos
provenientes da estrutura de TI. Abaixo alguns links importantes.
Documentação oficial:
docs.cacti.net
installation - cacti.net
Download:
cacti.net - download
Fóruns:
forums.cacti.net
Outros:
O Cacti foi instalado conforme as documentações acima. Crie o diretório onde os arquivos do Cacti serão
alocados:
# mkdir /usr/local/cacti
Volte ao diretório onde estão os pacotes, descompacte os arquivos do Cacti e os mova para o diretório
criado acima:
# cd /pacotes
mysql> quit;
Configure o arquivo de configuração do Cacti com a referência do banco de dados, conforme abaixo:
# vi /usr/local/cacti/include/config.php
$database_type = "mysql";
$database_default = "cacti";
$database_hostname = "localhost";
$database_username = "cactiuser";
$database_password = "somepassword";
$database_port = "3306";
# useradd -m cactiuser
# passwd cactiuser
Resultado:
Inclua o script do Poller do Cacti no crontab do usuário cactiuser e configure-o para ser executado a cada
um minuto.
$ crontab -e
#Cacti - poller
*/1 * * * * php /usr/local/cacti/poller.php > /dev/null 2>&1
# vi /usr/local/apache2/conf/httpd.conf
DocumentRoot /var/www/cacti
<Directory "/var/www/cacti">
Options FollowSymLinks
AllowOverride All
Order deny,allow
Allow from all
</Directory>
SSLEngine on
SSLOptions +FakeBasicAuth +ExportCertData +StrictRequire
SSLCertificateFile "/etc/ssl/certs/graficos.seudominio.com.br.crt "
SSLCertificateKeyFile "/etc/ssl/private/nome_chave.key "
Por:
DocumentRoot /usr/local/cacti
<Directory "/usr/local/cacti">
Options FollowSymLinks
DirectoryIndex index.php
AllowOverride All
Order deny,allow
Allow from all
</Directory>
SSLEngine on
SSLOptions +FakeBasicAuth +ExportCertData +StrictRequire
SSLCertificateFile "/etc/ssl/certs/graficos.seudominio.com.br.crt "
SSLCertificateKeyFile "/etc/ssl/private/nome_chave.key "
Reinicie o Apache:
# /etc/rc.d/rc.httpd restart
Acesse o site do Cacti, inicie a configuração via web e siga as configurações conforme as imagens abaixo:
https://graficos.seudominio.com.br
ou
https://ip.ip.ip.ip
Instalaremos o módulo Spine, responsável por aumentar o desempenho do Cacti. Maiores informações no
link abaixo:
# cd /pacotes
# tar -zxf cacti-spine-0.8.7e.tar.gz
# cd cacti-spine-0.8.7e
Compilando:
# aclocal
# libtoolize --force
# autoheader
# autoconf
# automake
# ./configure
# make
# make install
Configure o arquivo de configuração do Cacti Spine com a referência do banco de dados conforme abaixo:
# vi /usr/local/spine/etc/spine.conf
DB_Host localhost
DB_Database cacti
DB_User cactiuser
DB_Pass somepassword
DB_Port 3306
https://graficos.seudominio.com.br/settings.php?tab=path
Finalizando
https://graficos.seudominio.com.br
Autentique com a senha padrão do serviço - usuário: admin, senha: admin, que deverá ser trocada no
primeiro acesso, inicie o cadastro de equipamentos e posteriormente a geração de seus gráficos.
Após fazer logon no sistema, clique na guia create devices na página inicial:
Selecione o host que iremos gerar os gráficos, selecione a interface e o tipo do gráfico a ser gerado e clique
em create:
Outras configurações de visualização, cores, templates etc poderão ser customizadas através da guia do
sistema, porém, por questões de tempo e conhecimento, prefiro não postar tantos detalhes, afinal, a melhor
forma de customizar a ferramenta é a adequando ao seu gosto ou ambiente... No mais é isso!
http://www.vivaolinux.com.br/artigo/Implantando-o-Cacti-(gerador-de-graficos)-em-
HTTP-Seguro-(HTTPS)