CACTI - O Tutorial Fácil - Plugins

Cacti Plugins
Last Update: Jan 31 2008


Tool
Install
Ergonomy
Forum



Detalhes O que é o Cacti?
Screenshots
Pré-requisitos
Tutorial Cacti
Plugins
Clientes SNMP


Portuguese translation by Alexandro Silva.



âš ï¸âš ï¸âš ï¸
Please check our website about
attractions in Western Switzerland !! (Please use english translation).

âš ï¸âš ï¸âš ï¸
Merci de consulter notre site sur les
activités à faire en Suisse romande !!



A grande força do Cacti é a possibilidade de utilizar outras ferramentas para plugins na sua interface web. Os plugins serão úteis se você deseja agrupar programas relacionados na mesma rede em uma interface.
No site cactiusers.org, você pode encontrar e baixar todos os plugins disponíveis. Nós escolhemos aqui os tutoriais sobre 3 plugins muito úteis: NTOP, syslog-ng and PHP Weathermap.


A primeira coisa a fazer é instalar um plugin obrigatório, que é requerido antes de instalar outros, ele é chamado plugin "arquitetura".

- Para o Cacti 0.8.6i & j, ele pode ser baixado (1.1) no site cactiusers.org.
- Para o Cacti 0.8.6h, ele pode ser baixado (1.0) em nosso site.

Se você instalar o cacti com o apt (instalador de pacotes), você pode saber a versão do cacti usando o comando "apt-cache policy cacti".

Descompacte o arquivo baixado.

#tar -xvf /home/user/Desktop/cacti-plugin-arch.tar.gz
Mova os arquivos dentro do diretório do plugin arquitetura que você acabou de baixar para o diretório contendo o site do cacti.

#cp /home/user/Desktop/cacti-plugin-arch/* /usr/share/cacti/site/ -R
#cd /usr/share/cacti/site/
Então execute o comando abaixo:
Somente seja cuidadoso ao executar o caminho correpondente a sua versão do cacti.

Para o cacti-0.8.6h:

#patch -p1 -N < cacti-plugin-0.8.6h.diff
Para o cacti-0.8.6i:

#patch -p1 -N < cacti-plugin-0.8.6i.diff
Para o cacti-0.8.6j:

#patch -p1 -N < cacti-plugin-0.8.6j.diff


OS PLUGINS DO CACTI:

1. NTOP (v 0.1) 2. PHP WEATHERMAP (v 0.82) 3. SYSLOG-NG (v 0.4)


1. O PLUGIN NTop

NTop é uma ferramenta que proverá estatisticas sobre a rede usada.

cacti ntop plugin ip summary traffic    cacti ntop plugin all protocols throughput

#apt-get install ntop
baixe o plugin e o descompacte no diretório do ntop.

#tar -xvf /home/user/Desktop/ntop-0.1.tar.gz
Copie o diretório do ntop no diretório /usr/share/cacti/site/plugins/

#cp /home/user/Desktop/ntop /usr/share/cacti/site/plugins/ -R
Nós temos que editar o arquivo /usr/share/cacti/site/include/config.php e adicionar somente após a linha que inicia com "$plugins = array();":

$plugins[] = ‘ntop’;
Execute o ntop

ntop -u user -w 3000
Sobre a interface web do cacti, não se esqueça de habilitar o plugin do NTOP:

Logue no cacti -> clieque na aba console -> clique em "Gerenciamento de Usuário" na seção "Utilitários" -> clique em um usuário -> habilte a caixa "View NTop".
cacti ntop plugin user management view ntop



2. O PLUGIN PHP WEATHERMAP

Para mais informações sobre o PHP Weathermap, leia o PHP Weathermap tutorial.

Baixe o plugin descompacte-o no diretório Weathermap. Digite o seguinte comando onde você baixou o PHP Weathermap:

#tar -xvf /home/user/Desktop/php-weathermap-0.82.zip
Copie o diretório Weathermap no diretório /usr/share/cacti/site/plugins/

#cp /home/user/Desktop/weathermap/ /usr/share/cacti/site/plugins -R
Nós temos que editar o arquivo /usr/share/cacti/site/include/config.php e adicionar após a linha que inicia com "$plugins = array();":

$plugins[] = ‘weathermap’;
Sobre a interface web do cacti, não se esqueça de habilitar o plugin Weathermap:

Logue no cacti -> clieque na aba console -> clique em "Gerenciamento de Usuário" na seção "Utilitários" -> clique em um usuário -> habilite a caixa "Veja o Weathermaps".
cacti php weathermap plugin user management configure weathermap

Veja o tutorial do Weathermap para ajuda como sobre configurar a ferramenta.



3. O PLUGIN SYSLOG-NG (0.4)

Um impressionante plugin que permite ler as mensagens do syslog-ng.

cacti plugin php syslog-ng

Você pode acionar alertas ou remover logs a partir da interface.

cacti plugin php syslog-ng alerts    cacti plugin php syslog-ng removal


Para maiores informações sobre o syslog-ng, leia o tutorial do php-syslog-ng.

baixe o plugin e descompacte-o no diretório haloe. Digite o seguinte comando onde você baixou o haloe:

#tar -xvf /home/user/Desktop/haloe-0.4.tar.gz
Copie o diretório haloe no diretório /usr/share/cacti/site/plugins/

#cp /home/user/Desktop/haloe /usr/share/cacti/site/plugins/ -R
Nós temos que editar o arquivo /usr/share/cacti/site/include/config.php e adicionar após a linha que inicia com "$plugins = array();":

$plugins[] = ‘haloe’;
Se você não possui ele instalado, você terá que instalar o syslog-ng e enviar o logs coletados para o banco de dados MySQL.

Instale o syslog-ng:

#apt-get install syslog-ng
O Syslog-ng desinstalará o servidor syslog padrão.
Nós temos que configurar o arquivo /etc/syslog-ng/syslog-ng.conf

Alterações no Syslog

Para receber os logs de uma máquina remota através da rede, descomentar (ou seja, remover o #) a linha contendo udp ();

# use the following line if you want to receive remote UDP logging messages
# (this is equivalent to the "-r" syslogd flag)
udp();
Encaminhar os registros para o MySQL database.

Adicione as linhas abaixo sempre no arquivo /etc/syslog-ng/syslog-ng.conf:

log {
source(s_all);
destination(d_mysql);
};

# pipe messages to /var/log/mysql.pipe to be processed by mysql
destination d_mysql {
pipe("/var/log/mysql.pipe"
template("INSERT INTO syslog_incoming
(facility, priority, date, time, host, message, seq, status)
VALUES ( '$FACILITY', '$PRIORITY', '$YEAR-$MONTH-$DAY', '$HOUR:$MIN:$SEC', '$HOST', '$MSG', '$SEQ', '$STATUS' );\n") template-escape(yes));

};
Configurações do Bando de Dados.

Nós precisamos criar o Banco de Dados MySQL e então importe as tabelas com o arquivo sql.

#mysqladmin -u root -p create haloe
#mysql -u root -p haloe < /home/user/Desktop/haloe/syslog.sql
Nós daremos todas as permissões para um novo usuário do MySQL chamado haloeuser na banco de dados haloe:

#mysql -u root -p haloe
>GRANT ALL ON haloe.* TO haloeuser@localhost IDENTIFIED BY 'haloepassword';
>flush privileges;
Configure a conexão MySQL no arquivo /usr/share/cacti/site/plugins/haloe/config.php:

$haloedb_type = "mysql";
$haloedb_default = "haloe";
$haloedb_hostname = "localhost";
$haloedb_username = "haloeuser";
$haloedb_password = "haloepassword";
No mesmo arquivo, para ver linhas coloridas em seu plugin do syslog, você precisa alterar as linha que iniciam com "$haloe_colors" pelas linhas abaixo:

$haloe_colors["emerg"] = "FF0000";
$haloe_colors["crit"] = "FF0000";
$haloe_colors["alert"] = "FF0000";
$haloe_colors["err"] = "FFAB00";
$haloe_colors["warning"] = "FFFF00";
$haloe_colors["notice"] = "FFAB00";
// $haloe_colors["info"] = "FFAB00";
// $haloe_colors["debug"] = "D0D0D0";
O arquivo de pipe do MySQL.

Agora, nós temos que criar um arquivo de inserção temporário MySQL (arquivo pipe):

#mkfifo /var/log/mysql.pipe
Temos de pôr os registros dentro do banco de dados com um bash script:

Crie um novo arquivo e insira a linha abaixo, salve o arquivo como syslog2mysql.sh no diretório /usr/share/cacti/site/plugings/haloe.
Não se esqueça de alterar o usuário e a senha do MySQL.

#!/bin/bash

if [ ! -e /var/log/mysql.pipe ]
then
mkfifo /var/log/mysql.pipe
fi
while [ -e /var/log/mysql.pipe ]
do mysql -u haloeuser --password=haloepassword haloe < /var/log/mysql.pipe >/dev/null
done
O script mysql.pipe significa que, se o arquivo não existe, crie ele. Então, enquanto o existir o mysql.pipe, abra uma conexão com o MySQL, e envie os dados "bufferizados".

Execute o script syslog2mysql script para ver se está tudo Ok. Os error serão mostradoe em caso de problemas.

#/usr/share/cacti/site/plugins/haloe/syslog2mysql.sh
Pare o script com "Ctrl+C".

Passo final:

Para executar o script syslog2mysql.sh sem o usuário root, nós precisaremos mudar o dono do arquivo:

#chown user /etc/cacti/debian.php
É importante que o usuário www-data, em outras palavras o usuário do servidor web apache, tenha permissão no arquivo. Normalmente, isto já ocorre:

#ls -l | grep debian.php
-rw-r----- 1 user www-data 557 2006-11-18 14:00 debian.php
Execute o script syslog2mysql.sh sobre o usuário de sua escolha:

#su user
user@linux#/usr/share/cacti/site/plugins/haloe/syslog2mysql.sh
Finalmente,nós precisamos configurar dois cron jobs.

crontab -e -u user
# when the computer boots, it starts automatically the syslog2mysql.sh script.
@reboot /usr/share/cacti/site/plugins/haloe/syslog2mysql.sh
# A command required to transfer the data stored
# into the syslog_incoming table to the syslog table. (every 1 minute)
# For an unknown reason this is not done automatically by the syslog plugin.
*/1 * * * * php5 -q /usr/share/cacti/site/plugins/haloe/syslog_process.php
O comando crontab atualizará o arquivo /var/spool/cron/crontabs/user.

Sobre a inerface web do cacti, não esqueca de habilitar o plugin syslog-ng:

Logue no cacti -> clieque na aba console -> clique em "Gerenciamento de Usuário" na seção "Utilitários" -> clique em um usuário -> habilite a caixa "Visualizador Syslog".
cacti plugin php syslog-ng user management view syslog configure syslog alerts


Topo da página