Instalação e Configuração do Cacti e de Cliente Cacti no Debian Squeeze
Aqui vou Abordar a instalação e configuração do Cacti e de um cliente para ele, vou fazer a instalação também o Spine que é um poller para melhorar a performance do cacti.
- Nome Servidor Cacti: cacti
- Ip: 10.101.0.25
- Nome Cliente Cacti: ldap
- Ip: 10.101.0.26
Prepare o seu sistema com o seguinte script http://wiki.douglasqsantos.com.br/doku.php/confinicialsqueeze_en para que não falte nenhum pacote ou configuração.
Agora vamos instalar as dependências para o cacti
aptitude install libphp-adodb php5-adodb php5 apache2 mysql-server rrdtool snmp snmpd php5-snmp libmysql++-dev libmysqlclient-dev libsnmp-dev -y
Agora vamos obter o cacti
cd /usr/src wget -c http://wiki.douglasqsantos.com.br/Downloads/monitoring/cacti-0.8.8a.tar.gz
Agora vamos desempacotar ele
tar -xzvf cacti-0.8.8a.tar.gz
Agora vamos mover ele para /var/www
mv cacti-0.8.8a /var/www/cacti
Agora vamos cadastrar um usuário para ele
useradd -m -r -s /bin/false cacti
Agora vamos acertar as permissões do diretório com os arquivos
chown -R cacti:www-data /var/www/cacti find /var/www/cacti -type f -exec chmod 664 {} \; find /var/www/cacti -type d -exec chmod 775 {} \;
Agora vamos criar o banco de dados para o cacti
mysql -u root -p CREATE DATABASE cacti; GRANT ALL PRIVILEGES ON cacti.* TO cacti@localhost IDENTIFIED BY 'senha'; FLUSH PRIVILEGES; QUIT
Agora vamos acertar o arquivo de controle de acesso ao banco de dados
vim /var/www/cacti/include/config.php $database_type = "mysql"; $database_default = "cacti"; $database_hostname = "localhost"; $database_username = "cacti"; $database_password = "senha"; $database_port = "3306"; $database_ssl = false; [...] $url_path = "/";
Agora vamos importar o banco de dados
mysql -u cacti -psenha cacti < /var/www/cacti/cacti.sql
Agora vamos aplicar um patch no cacti
Vamos acessar o diretório com os arquivos
cd /var/www/cacti
Agora vamos obter o patch
wget -c http://wiki.douglasqsantos.com.br/Downloads/monitoring/snmpv3_priv_proto_none.patch
Agora vamos aplicar o patch
patch -p1 -N < snmpv3_priv_proto_none.patch
Agora vamos remover o patch
rm -rf snmpv3_priv_proto_none.patch
Agora vamos criar um virtualhost para o cacti
vim /etc/apache2/sites-available/cacti <VirtualHost *:80> ServerName cacti.douglasqsantos.com.br ServerAdmin webmaster@douglasqsantos.com.br DocumentRoot "/var/www/cacti" <Directory "/var/www/cacti"> Options -Indexes +FollowSymLinks +MultiViews AllowOverride All Order Allow,deny Allow From All </Directory> CustomLog /var/log/apache2/cacti.access.log combined ErrorLog /var/log/apache2/cacti.error.log LogLevel warn ServerSignature Off </VirtualHost>
Agora vamos habilitar ele
a2ensite cacti
Agora vamos desabilitar o virtualhost default do apache
a2dissite default
Agora vamos reiniciar o apache
/etc/init.d/apache2 restart
Agora vamos acessar http://cacti.douglasqsantos.com.br/install para acertamos a configuração do cacti.
Responda da seguinte forma:
- Next
- Next
- Finish
Após isso vamos ser redirecionados para a página de login o usuário: admin senha: admin, após informar isso vai ser solicitado a alteração da senha altere a senha e vamos logar ;)
Agora vamos alguns ajustes no snmpd do servidor cacti
vim /etc/snmp/snmpd.conf [...] #Vamos deixar o agentAddress como abaixo agentAddress udp::161 [...] #Vamos deixar sysLocation e sysContact como abaixo sysLocation Servidor Cacti Matriz sysContact Douglas <douglas@douglasqsantos.com.br>
Agora vamos reiniciar o serviço do snmtp
/etc/init.d/snmpd restart
Por recomendação do Cacti vamos instalar o spine que é um poller escrito em C que tem uma melhor performace do que o padrão
Vamos acessar o diretório para armazenar os fontes
cd /usr/src
Agora vamos obter o spine
wget -c http://wiki.douglasqsantos.com.br/Downloads/monitoring/cacti-spine-0.8.8a.tar.gz
Agora vamos desempacotar ele
tar -xzvf cacti-spine-0.8.8a.tar.gz
Agora vamos acessar o seu o diretório com os fontes
cd cacti-spine-0.8.8a/
Vamos mandar ele gerar a configuração
./configure
Vamos mandar ele compilar
make
Agora vamos mandar ele instalar
make install
Agora vamos acertar o nome do arquivo de configuração do spine
cp /usr/local/spine/etc/spine.conf.dist /usr/local/spine/etc/spine.conf
Agora vamos acertar a configuração do spine
vim /usr/local/spine/etc/spine.conf [...] DB_Host localhost DB_Database cacti DB_User cacti DB_Pass senha DB_Port 3306 DB_PreG 0
Agora no cacti em Console/Settings/Paths
- Em Spine Poller File Path: informe: /usr/local/spine/bin/spine
- Agora selecione save
Agora Selecione em Console/Management/Devices
- Selecione o Localhost
- Em snmp version selecione version 1 as opções que irão aparecer não precisam ser modificadas agora no final da página selecione save.
- Agora selecione o link Create Graphs for this Host
- Agora selecione os dispositivos que deseja monitorar e selecione create.
Agora vamos agendar no cron a geração de relatório
crontab -e [...] */5 * * * * php /var/www/cacti/poller.php > /dev/null 2>&1 && chown -R cacti:www-data /var/www/cacti/rra
Agora é só ir acompanhando os gráficos em graphs o primeiro gráfico demora 5 minutos pra gerar por causa do cron.
Agora vamos a configuração do Cliente
No cliente somente precisamos instalar o snmp, snmpd
aptitude install snmp snmpd -y
Agora vamos fazer backup do arquivo de configuração do snmpd
cp /etc/snmp/snmpd.conf{,.bkp}
Agora vamos acertar a configuração do snmpd
vim /etc/snmp/snmpd.conf [...] #Vamos deixar agentAdress como abaixo agentAddress udp::161 [...] #Vamos comentar a linha abaixo # rocommunity public default -V systemonly #Vamos adicionar a linha abaixo aqui definimos uma rede porem podemos definir somente o servidor rocommunity douglas 10.101.0.0/24 [...] #Vamos deixar as opções do sysLocation e sysContact como abaixo sysLocation Servidor LDAP Matriz sysContact Douglas <douglas@douglasqsantos.com.br>
Agora vamos reiniciar o serviço do snmtp
/etc/init.d/snmpd restart
- Agora no cacti selecione Console/Management/Devices
- Do lado superior direito selecione add ele esta abaixo de Logout
- Informe uma descrição para o servidor EX: Ldap
- Em hostname informe o ip
- Host template selecione local linux machine
- Em snmp options selecione snmp version → Version 1
- Em snmp community informe douglas que nos definimos em rocommunity em /etc/snmp/snmpd.conf
- Agora selecione Create na parte inferior direita da tela, se a configuração do snmpd estiver correta vamos receber uma mensagem de Save Sucessful
- Agora na parte superior da tela em Azul temos Create graphs for this host selecione este link
- Agora selecione todos os necessarios e selecione create na parte inferior direita da tela.
- Na proxima tela temos algums configurações sobre as cores das legendas eu sempre deixo as default e selecione create
- Agora selecione Console/Menagement/Graph Trees
- Agora selecione Default Tree
- Agora do lado supeiror direito selecione Add
- Em parent item deixe como [root]
- Em tree item type selecione host
- Agora selecione o seu servidor Ldap e selecione Create.
Agora podemos acompanhar os gráficos em graphs os relatórios atualizam a cada 5 minutos que agendamos no cron ;)
No painel direito temos os nossos hosts para adicionar mais hosts siga o mesmo procedimento ;)