Quando se fala em "sistema de monitoramento de rede open source", um nome vem a cabeça:
Cacti. É quase uma unanimidade, pela facilidade de utilização, por estar "empacotado" para as principais distribuições GNU/Linux, bastando um
apt-get/yum install cacti e o sistema já está instalado. E também pela ampla documentação.
Há algum tempo atrás, por uma indicação de um colega da lista de discussão
GTER, conheci o
Observium e o tenho utilizado desde então, não como um substituto ao Cacti, mas sim como um complemento.
Sei que isso não é uma métrica muito confiável, mas fazendo uma busca pelo termo "cacti network monitoring" nos principais mecanismos de busca que temos hoje, os números são consideráveis.
Busca pelo termo "cacti network monitoring":
- Google: Aproximadamente 154.000 resultados;
- Bing: Aproximadamente 104.000 resultados;
- Yahoo: Aproximadamente 102.000 resultados.
Busca pelo termo "observium network monitoring":
- Goggle: Aproximadamente 8.460 resultados;
- Bing: Aproximadamente 6.300 resultados;
- Yahoo: Aproximadamente 6.320 resultados.
Em alguns sites do Brasil:
Este guia mostra como instalar o Observium no
CentOS/RHEL/Scientific Linux.
Neste exemplo usei o
CentOS 6.3 64 bits, mas para outras distribuições o processo é semelhante, pois a instalação do
Observium é feita por SVN.
Repositórios
Para obter todos os módulos adicionais, é ideal ter os repositórios adicionais
RPM Forge e
EPEL:
# rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt
# rpm -Uvh http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm
# rpm -Uvh http://mirror.globo.com/epel/6/x86_64/epel-release-6-8.noarch.rpm
Pacotes:
# yum install httpd.x86_64 mysql-server.x86_64 mysql.x86_64 php-gd.x86_64 php-mcrypt php-mysql.x86_64 php-pear net-snmp.x86_64 php-pear.noarch php-snmp.x86_64 php.x86_64 fping.x86_64 graphviz.x86_64 ImageMagick.x86_64 jwhois.x86_64 net-snmp-utils.x86_64 nmap.x86_64 OpenIPMI-tools.x86_64 rrdtool.x86_64 subversion.x86_64 vixie-cron.x86_64
# pear install Net_IPv6
# pear install Net_IPv4
Instalação do Observium
Criar o diretório:
# mkdir -p /opt/observium && cd /opt
Checar a última versão no repositório do
Subversion:
# svn co http://www.observium.org/svn/observer/trunk observium
Mudar para o diretório de instalação:
# cd /opt/observium
Base de Dados
Criar a base de dados e o usuário:
mysql>
CREATE DATABASE observium;
mysql>
GRANT ALL PRIVILEGES ON observium.* TO 'observium'@'localhost' IDENTIFIED BY '<Senhas>';
Configuração
Copie o arquivo de configuração padrão e faça as alterações necessárias:
# cp config.php.default config.php
Adicione uma entrada para o
fping:
$config['fping'] = "/usr/sbin/fping";
Configure o
schema da base de dados:
# php includes/sql-schema/update.php
Alguns erros devem aparecer, isso é normal. Mas se forem mais do que 6, revise sua configuração.
Crie os diretórios "graphs" e "rrd" (* Lembre-se: ainda estamos abaixo do diretório
/opt/observium):
# mkdir graphs rrd
# chown apache.apache graphs rrd
Obs.: O sistema não aceita rodar como um diretório. Exemplo:
http://www.dominio.com/observium
Adicionar o primeiro usuário (use o nível 10 para
admin):
# cd /opt/observium
# ./adduser.php <username> <password> <level>
Adicione o primeiro dispositivo para ser monitorado:
# ./addhost.php <hostname> <community> v2c
Obs.: DEVE-SE, obrigatoriamente, ter um nome válido, seja por DNS ou pelo
/etc/hosts.
Faça uma verificação inicial do novo dispositivo:
# ./discovery.php -h all
# ./poller.php -h all
Adicione na
crontab (Ex.:
/etc/cron.d/observium) o conteúdo abaixo:
33 */6 * * * root /opt/observium/discovery.php -h all >> /dev/null 2>&1
*/5 * * * * root /opt/observium/discovery.php -h new >> /dev/null 2>&1
*/5 * * * * root /opt/observium/poller.php -h all >> /dev/null 2>&1
Faça um reload/restart no serviço:
# /etc/init.d/crond reload/restart
O sistema já estará disponível em:
http://<server ip>
Atualização
É utilizado o SVN para a atualização, bastando executar o comando abaixo:
# cd /opt/observium
# svn update
# ./discovery.php -h new