Olá, Amigos
Esse tutorial tem como objetivo mostrar passo a passo a instalação e configuração do Cacti + Templates para monitorar equipamentos Mikrotik e Ubiquiti + Plugin Weathermap no CentOS
1 - INSTALAÇÃO CACTI
1 - Pré-requisitos
O primeiro passo é instalar os pacotes necessários:
Código :yum -y install mysql-server php php-cli php-mysql net-snmp-utils rrdtool \ php-snmp gcc mysql-devel net-snmp-devel autoconf automake libtool dos2unix
Agora vamos ter certeza que nosso servidor web e banco de dados estão configurados para inicializar automaticamente:
Código :chkconfig httpd on chkconfig mysqld on chkconfig crond on
3- Depois de certificar que esses serviços estão configurados para iniciar após uma reinicialização, vamos iniciá-los manualmente, para continuar a instalação:
Código :service httpd restart service mysqld restart service httpd restart
4 - Arquivos Cacti
O próximo passo é fazer o download da última versão do cacti, para isso acesse http://www.cacti.net/download_cacti.php, nesse caso, vamos usar a 0.8.8f.
Código :cd /var/www/html wget http://www.cacti.net/downloads/cacti-0.8.8f.tar.gz tar -xzvf cacti-0.8.8f.tar.gz
5 - Cron e permissões de arquivo
O Cacti usa cron (tarefa agendada), paro isso recomendo criar um usuário especial:
Código :adduser cacti
Adicione uma tarefa cron para executar a cada 5 minutos:
Código :echo "*/5 * * * * cacti php /var/www/html/cacti/poller.php &>/dev/null" >> /etc/cron.d/cacti
Precisamos ter certeza de que as permissões no registro RRA e diretórios estão definidos corretamente:
Código :cd /var/www/html/cacti chown -R cacti.apache rra log chmod 775 rra log
6 - Banco de Dados Cacti
Agora que extraiu todos os arquivos do cacti, podemos avançar na preparação e configuração do banco de dados.
Vamos criar um novo banco de dados e atribuir um usuário especial para ele:
Código :mysqladmin -u root -p create cacti mysql -p cacti < /var/www/html/cacti/cacti.sql mysql -u root -p
Nesse momento você vai estar na tela de pront de comando do mysql, digite a linha abaixo e altere a senha:
Código :GRANT ALL ON cacti.* TO cactiuser@localhost IDENTIFIED BY 'MINHASENHA'; flush privileges; exit
O último passado agora é adicionar as informações do banco de dados no cacti, para isso acesse:
Código :cd /var/www/html/cacti/include/ vi config.php
Código :$database_type = "mysql"; $database_default = "cacti"; $database_hostname = "localhost"; $database_username = "cactiuser"; $database_password = "MINHASENHA"; $database_port = "3306"; $database_ssl = false;
Para terminar desative o SELinux:
Código :vi /etc/sysconfig/selinu
Altere a linha conforme abaixo:
Código :SELINUX=disabled
Pronto! Agora você pode acessar o Cacti: http://localhost/cacti/
Usuário: admin
Senha: admin
2 - INSTALAÇÃO E CONFIGURAÇÃO TEMPLATES UBIQUITI E MIKROTIK
O Cacti tem como principal objetivo monitorar sua rede, por esse motivo vou apresentar logo abaixo, dois Templates essências para quem trabalha com equipamentos wireless da Ubiquiti e Mikrotik.
1 - Template Ubiquiti
- Faça o download dos arquivos - Ubiquiti-Cacti-2.zip
- Descompacte os arquivos
- Envie os arquivos abaixo para o diretório
Código :/cacti/resource/snmp_queries/
- AirOS5_6.xml
- AirOS5_6_AP
OBS: Em nosso exemplo vai ser /var/www/html/cacti-0.8.8f/resource/snmp_queries/
- Acesse o cacti http://localhost/cacti/
- Aba Console
- Import/Export
- Import Templates
Envie os arquivos
cacti_host_template_ubiquiti_airos_5_6_ap
cacti_host_template_ubiquiti_airos_5_6_cpe
2 - Template Mikrotik
- Faça o download dos arquivos - mikrotik-20090210.zip
- Descompacte os arquivos
- Envie para o diretório principal do cacti
Código :/var/www/html/cacti-0.8.8f
- Acesse o cacti http://localhost/cacti/
- Aba Console
- Import/Export
- Import Templates
- Envie o arquivo cacti_host_template_mikrotik que está na pasta template
3 - INSTALAÇÃO WEATHERMAP
Neste tópico vamos iniciar a instalação e configuração do plugin Weathermaps.
1 - Acesse o diretório de plugins do cacti e efetue o download da última versão disponível no site http://network-weathermap.com/
Código :cd /var/www/html/cacti-0.8.8f/plugins wget http://network-weathermap.com/files/php-weathermap-0.97c.zip unzip php-weathermap-0.97c.zip
obs: caso não tenha instalado o unzip, siga os passos abaixo:
Código :yum install unzip
2 - Instalações de pacotes necessários
GD EXTENSION
Código :yum install gd gd-devel php-gd service httpd restart
Pronto! Agora vamos continuar a configurar...
4 - CRIANDO E GERANDO SEU PRIMEIRO MAPA
3 - Criar seu primeiro mapa
Agora que está tudo instalado e funcionando, vamos criar nosso mapa de testes
- Acesse o cacti http://localhost/cacti/
- Aba Weathermap
No canto inferior em clique em editor
(caminho /cacti/plugins/weathermap/editor.php)
Na tela abaixo, em: Create A New Map -> Named vamos digitar o nome do mapa:
Ex: Named: teste.conf (digite o nome seguido de .conf)
Create
Agora vamos criar o mapa, na parte superior da tela está o menu, os principais recursos que vamos utilizar são:
Add Node: Adiciona um novo dispositivo
Add Link: Essa opção serve para adicionar um link entre dois pontos, para isso você precisa:
- Adicionar dois nodes
- Clicar em add link
- Selecionar o primeiro node e logo em seguida o segundo
Map Properties
- Map Title: Titulo do Mapa
- Legend Text: Legenda (opcional)
- Map Size: Tamanho da tela
Map Style
- Link Labels: Altere essa opção para Percentage
4 - Gerar o mapa
Para gerar o mapa, acesse o diretório principal do Weathermap:
Código :cd /var/www/html/cacti-0.8.8f/plugins/weathermap
Digite o código abaixo:
Código :./weathermap --config configs/teste.conf --output= teste.png --htmloutput teste.html
Sendo teste o nome do mapa criado anteriormente.
Para verificar se o mapa foi gerado com sucesso, acesse: http://localhost/cacti/plugins/weathermap/teste.html
Caso apresentar algum erro no Console/Getopt.php, quando executar o comando, instale os pacotes abaixo:
Código :yum install php-pear php-pear-DB php-pear-DB-DataObject php-pear-DB-DataObject-FormBuilder php-pear-MDB2 yum install php-pear-Date php-pear-Numbers-Roman php-pear-Numbers-Words php-pear-HTML-Common php-pear-HTML-QuickForm yum install php-pear-HTML-QuickForm-advmultiselect php-pear-HTML-Table php-pear-Archive-Tar php-pear-Auth-SASL yum install php-pear-Console-Getopt php-pear-HTTP php-pear-Image-Canvas php-pear-Image-Color php-pear-Image-Graph yum install php-pear-Image-GraphViz php-pear-Mail php-pear-Mail-Mime php-pear-Net-SMTP php-pear-Net-Socket yum install php-pear-Net-Traceroute php-pear-Net-Ping php-pear-Validate php-pear-XML-RPC
5 - Atualizar todos os mapas automaticamente usando cron
Cada vez que você deseja atualizar um mapa é necessário executar o comando acima, para automatizar essa tarefa, digite:
Código :cd /usr/sbin/ touch upweathermap.sh vi upweathermap.sh
Cole o script abaixo:
Código :#!/bin/bash #Criado por Luciano Rampanelli lst=`ls -la /var/www/html/cacti-0.8.8f/plugins/weathermap/configs/*.conf |cut -d '/' -f9 |sed 's/.conf//g'` echo $lst |sed 's/ /\n/g' > /tmp/.mapcnt countr=`cat /tmp/.mapcnt |wc -l` cd /var/www/html/cacti-0.8.8f/plugins/weathermap/ while [ $countr -gt 0 ]; do tomap=`cat /tmp/.mapcnt |sed 's/ //g'|sed -n $countr"p"` echo "Atualizando mapa:" $tomap /usr/bin/php ./weathermap --config /var/www/html/cacti-0.8.8f/plugins/weathermap/configs/$tomap.conf --output /var/www/html/cacti-0.8.8f/plugins/weathermap/$tomap.png --htmloutput /var/www/html/cacti-0.8.8f/weathermap/$tomap.html countr=`echo $(($countr-1))` done
Agora vamos agendar uma tarefa para o script utilizando crontab:
Código :crontab -e */3 * * * * /usr/sbin/upweathermap.sh
5 - CONFIGURAÇÕES WEATHERMAP
Agora que já estamos com Weathermaps rodando e gerando mapas, vamos terminar sua configuração para deixar funcionando 100%.
1 - Grupos de Mapas
- Acesse o Cacti (http://localhost/cacti/)
- Aba Console
- Menu Management
- Weathermaps
Na tela que abrir clique em Add, selecione o mapa que criou na lista abaixo:
No canto superior da tela, acesse a aba weathermap, apareceu uma tabela com o nome do seu mapa dizendo: This map hasn't been created yet ?
Aqui deve aparecer todos os seus gráfico, para resolver isso acesse:
Código :cd /usr/sbin touch upimg.sh vi upimg.sh
Cole o código abaixo:
Código :#!/bin/bash path=/var/www/html/cacti-0.8.8f/plugins/weathermap/ pathcfg=/var/www/html/cacti-0.8.8f/plugins/weathermap/configs/ bin=/var/www/html/cacti-0.8.8f/plugins/weathermap/weathermap/ pathout=/var/www/html/cacti-0.8.8f/plugins/weathermap/output/ mysql --skip-column-names --user='root' --password='SENHA DO BANCO' --database='cacti' --execute='select configfile,filehash from weathermap_maps' > "$path"weathemap_maps_list mapslist="$path"weathemap_maps_list if [ -f $mapslist ] then while read maps do config=$(echo $maps | awk '{$NF=""; print $0}') map=$(echo $maps | awk '{print $NF}') cd /var/www/html/cacti-0.8.8f/plugins/weathermap/ ./weathermap --config configs/$config --output output/$map.png --htmloutput output/$map.html #--debug sleep 5 convert -thumbnail 300x300 $pathout$map.png $pathout$map.thumb.png done < $mapslist fi
Próximo passo é criar uma tarefa cron para executar o script:
Código :crontab -e */3 * * * * /usr/sbin/upimg.sh
Não esqueça de alterar o caminho dos patchs, diretorios e a senha do banco de dados.
### Qualquer dúvida ou problema, poste nos comentários ###
Por: André Zanon