Zabbix Network Monitoring

Neste artigo, apresentarei como instalar e configurar o Zabbix, um sistema de monitoramento de redes e sistemas enterprise, criado por Alexei Vladishev e licenciado sob a GNU GPL. Nosso objetivo é auxiliar na instalação e configuração da ferramenta ilustrando os procedimentos para a implantação do servidor em sistemas Linux Ubuntu Server/Debian Squeeze.

[ Hits: 73.965 ]

Por: Alessandro Silva em 07/10/2011 | Blog: http://alessandrosilva.info


Configurando o servidor Zabbix



A partir de agora, iniciaremos a configuração para compilar e instalar o Zabbix no sistema, bem como torná-lo operacional.

Configuração básica do sistema

Neste passo faremos uma pré-configuração para instalação e compilação do Zabbix.

Crie o usuário Zabbix:

# adduser --no-create-home --disabled-password --disabled-login --shell=/bin/false zabbix

Como já estão instalados os pacotes apache2 e mysql-server, reinicie os mesmos para verificar o correto funcionamento.

# /etc/init.d/apache2 restart
# /etc/init.d/mysql restart


Compilando o Zabbix e a base de dados

Descompacte o Zabbix que está localizado na pasta /usr/src/ e compile o Zabbix.

Execute os comandos seguintes:

# cd /usr/src/
# tar -xzvf zabbix-1.8.8.tar.gz
# cd zabbix-1.8.8
# ./configure --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-ldap --with-ssh2 --enable-proxy --with-jabber --prefix=/usr/local/zabbix PKG_CONFIG_PATH=/usr/lib/pkgconfig/ PKG_CONFIG=/usr/bin/pkg-config


NOTA: Observe que estamos habilitando na compilação, o servidor Zabbix e o agente, suporte a base de dados MySQL, protocolo SNMP, biblioteca Libcurl, SSH, autenticação LDAP, suporte a proxy e protocolo Jabber. Se desejar, utilize o comando ./configure --help para conhecer outros parâmeros que podem ser utilizados na compilação.

NOTA: Nesta parte estamos passando por parâmetro os caminhos (paths) do pkg-config, que é necessário para a compilação do Zabbix.

Neste momento o Zabbix já foi compilado e serão exibidas informações sobre o resultado da compilação e os recursos que foram habilitados. Seguiremos, portanto, com a preparação da base de dados MySQL e, em seguida, com a instalação propriamente dita.

No shell, crie a base de dados no MySQL:

# mysql -u root -p -e "create database zabbix;"

Crie um usuário chamado Zabbix:

# mysql -u root -p -e "GRANT ALL PRIVILEGES ON zabbix.* TO zabbix@localhost IDENTIFIED BY 'NOVA_SENHA';"

Execute os scripts sql para criar a base de dados Zabbix no MySQL:

# mysql -u zabbix -p zabbix < create/schema/mysql.sql
# mysql -u zabbix -p zabbix < create/data/data.sql
# mysql -u zabbix -p zabbix < create/data/images_mysql.sql


Instale o Zabbix:

# make install

Realizando ajustes finais no sistema

Edite o arquivo /etc/services:

# vi /etc/services

Adicione as linhas:

zabbix_agent 10050/tcp # Zabbix Agent
zabbix_trap 10051/tcp # Zabbix Server

Crie o diretório /etc/zabbix e copie os arquivos de configuração para dentro dele.

# mkdir /etc/zabbix
# cp misc/conf/zabbix_server.conf misc/conf/zabbix_agent* /etc/zabbix/


Crie os diretórios para armazenagem dos arquivos de logs e do pid.

# mkdir /var/log/zabbix
# mkdir /var/run/zabbix


Altere a propriedade do diretório /var/log/zabbix e var/run/zabbix para o usuário zabbix.

# chown zabbix: /var/log/zabbix /var/run/zabbix

NOTA: É importante realizar a configuração do logrotate para os dois arquivos de log do Zabbix. Isso impedirá que seu arquivo de log fique muito grande e ocupe muito espaço em disco desnecessariamente.

Durante o processo de boot todos os arquivos e diretórios do /var/run são apagados, portanto, utilize outro diretório para armazenar o pid como o /var/tmp ou /tmp. Lembre-se de mudar em todas as referencias de /var/run para o diretório escolhido.

Configurando o Zabbix Server

Edite o arquivo /etc/zabbix/zabbix-server.conf:

# vi /etc/zabbix/zabbix_server.conf

Modifique ou descomente as seguintes linhas abaixo e configure de acordo com a necessidade do seu ambiente.

# Define um Node ID exclusivo
NodeID=0

# Fequencia de envio de alertas
SenderFrequency=30

# Nível do debug no Log File
DebugLevel=3

# Timeout de conexão com o agente
Timeout=5

# Caminho do arquivo pid do Zabbix Server
PidFile=/var/tmp/zabbix/zabbix_server.pid

# Caminho do arquivo de log do Zabbix Server
LogFile=/var/log/zabbix/zabbix_server.log

# Tamanho do arquivo de log
LogFileSize=2

# Caminho dos scripts customizados
AlertScriptsPath=/home/zabbix/bin/

# Servidor MySQL
DBHost=localhost

# Nome da base de dados no MySQL
DBName=zabbix

# Usuário da base de dados no MySQL
DBUser=zabbix

# Senha do usuário Zabbix no MySQL
DBPassword=<password>

O Zabbix está configurado no sistema. Agora configure o serviço zabbix-server para inicializar automaticamente no sistema.

# cp misc/init.d/debian/zabbix-server /etc/init.d/
# chmod a+x /etc/init.d/zabbix-server


Entre no rcconf e habilite o zabbix-server.

# rcconf

Edite o arquivo /etc/init.d/zabbix-server:

# vi /etc/init.d/zabbix-server

Edite as linhas de acordo com o exemplo seguinte:

NAME=zabbix_server
DAEMON=/usr/local/zabbix/sbin/$NAME
DESC="Zabbix server daemon"
PID=/var/run/zabbix/$NAME.pid
PATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/zabbix/sbin:/usr/local/zabbix/bin

Inicie o servidor Zabbix:

# /etc/init.d/zabbix-server start

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Preparando o ambiente
   3. Configurando o servidor Zabbix
   4. Configurando o front-end do Servidor Zabbix
   5. Instalando e configurando o Agente Zabbix
Outros artigos deste autor

DNS - Digital Nervous System

O Movimento Software Livre

A Revista Espírito Livre

Software Livre: Migração de mentalidade

ManageIQ: Gerencie a sua infraestrutura de TI Híbrida através de uma única plataforma

Leitura recomendada

Integrando Asterisk ao PABX através de placa de fax modem

Conky no Slackware 13

Grub animado no Ubuntu? BURG nele!

Anunciando Minitunes: Um melhor tocador de música!

Faça um tour pelo aMSN 0.95b

  
Comentários
[1] Comentário enviado por volcom em 07/10/2011 - 10:29h

Cara!!!

Ouvi falar dessa ferramenta num curso de JBoss que fiz há um tempo e ainda não tive tempo de fuçar...mas agora com esse empurrãozinho vai ficar mais fácil hehehe

Obrigado pela contribuição e parabéns pelo ótimo artigo!

Abraço

[2] Comentário enviado por vagnerfonseca em 07/10/2011 - 10:41h

Alessandro,

Muito bom seu artigo, didático e claro. Parabéns.

Espero que tenha muitos mais como esse para compartilhar conosco.

O Ricardo publicou um artigo sobre isso também no CooperaTI. (vocês combinaram?hehehe)

Abraços.

[3] Comentário enviado por dolivervl em 07/10/2011 - 12:52h

Tenho uma dúvida, quais são as diferenças do Zabbix para o Nagios????

[4] Comentário enviado por sivasmartins em 07/10/2011 - 16:44h

http://en.wikipedia.org/wiki/Comparison_of_network_monitoring_systems

[5] Comentário enviado por alessandro.silva em 09/10/2011 - 10:36h

VOLCOM,
Espero que o artigo possa realmente auxiliá-lo de alguma forma. Esse é o objetivo! Abçs


VAGNER,
Valeu meu camarada! Sempre que tenho uma tempinho, gosto de fazer isso. Sobre o Ricardo, foi engraçado mesmo! Se tivéssemos combinado não teria ocorrido. Abçs!


DOLIVERVL
Para resumir, o Zabbix=NAGIOS+CACTI. Tem mais recursos, é mais fácil de usar e é mais enterprise. Não conheço profundamente o NAGIOS, mas pelo que tenho visto, certamente, o ZABBIX ganha em vários aspectos.

[6] Comentário enviado por xjc em 10/10/2011 - 14:28h

Cara massa o artigo , parabens

[7] Comentário enviado por rpinheiro em 10/10/2011 - 20:21h

Alessandro,


Parabéns pelo post, e estou aguardando pelos próximos. :-)

Abraços

[8] Comentário enviado por marcosilva79 em 11/10/2011 - 13:38h

A melhor ferramenta sempre vai ser aquela em que se sabe usar! Nagios tbm arrebenta, galera sempre desenvolvendo novas features e plugins para o sistema, idem para o cacti.

[9] Comentário enviado por alessandro.silva em 11/10/2011 - 14:46h

Concordo! Entretanto, já inseriu um host no Zabbix? Compara com o Nagios para ver como é bem mais prático. O Nagios tem templates em formato XML que podem ser duplicados ou adapatados para qualquer outro host? O Nagios manipula MIBS? Qual é mais fácil de ser configurado e administrado?

[10] Comentário enviado por stefanols em 14/10/2011 - 12:11h

Na dúvida, use os dois!! kkk. Tanto o Zabbix quanto o Nagios são ótimos. Por isso uso os dois. :P. Incluindo algumas páginas do Nagios dentro do Zabbix, usando o recurso e telas, fica show de bola.

O Zabbix é um sistema com muitas funcionalidades. Merece inclusive uma série de artigos, mostrando e explicando o funcionamento de cada recurso.

[11] Comentário enviado por marcelowguima em 27/10/2011 - 16:33h

Artigo excelente, funcionou perfeitamente comigo, só tive que fazer uma alteração pois o zabbix server não iniciava, tive que criar o diretório zabbix no caminho /var/tmp/zabbix e depois criar o arquivo zabbix_server.pid e dar permissão ao usuário zabbix, após isso o server subiu e pronto!!

Parabéns!!!!


[12] Comentário enviado por amdbuzat em 04/01/2012 - 14:33h

Boa tarde Alessandro.
Comigo está dando esse problema :
Instalo -------------------------
apt-get install mysql-server mysql-client libmysql++-dev gcc make libmysqlclient-dev apache2 libiksemel-dev libiksemel-utils libsnmp-dev fping snmpd lm-sensors libsysfs2 php5 libapache2-mod-php5 php5-gd php5-snmp php5-mysql php-pear perl-base liburi-perl libapache2-mod-perl2 libwww-perl libtool libextutils-pkgconfig-perl pkg-config libsnmp9-dev libcurl4-openssl-dev libcurl3 rcconf libgd-text-perl php5-cgi perl-modules libpdf-api2-perl libssh2-1-dev

dai dou o comando :


./configure --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-ldap --with-ssh2 --enable-proxy --with-jabber --prefix=/usr/local/zabbix PKG_CONFIG_PATH=/usr/lib/pkgconfig/ PKG_CONFIG=/usr/bin/pkg-config


O debian me responde :
configure: error: SSH2 library version requirement not met (>= 1.0.0)

Será que é problema com o debian lenny ?
Tem como atualizar o ssh2 ?

[13] Comentário enviado por alessandro.silva em 04/01/2012 - 14:46h

Certamente. O pacote libssh2-1-dev é do Debian Squeeze. Veja o pacote similar no Debian Lenny que também funcionará.

[14] Comentário enviado por rklogic em 17/01/2012 - 11:57h

ola preciso de uma ajuda ,instalei o zabbix em, uma maquina virtual , aonde tenho o sevidor com o ip 192.168.1.154 e a rede saida interna com o ip 192.168.0.0/24 aonde eu queria monitorar uns micros com o xp .
o zabbix esta funcionando mais nao sei configurar o mesmo pra monitorar o xp. o zabbix agente esta pronto e rodando no micro xp jah mais ainda nao consegui monitorar se puder dar uma força.

[15] Comentário enviado por schiavopbi em 11/03/2012 - 00:24h

Amigos,

Alguém pode me ajudar o status do meu servidor fica como:

PARAMETRO VALOR DETALHES
zabix está rodando não localhost:10051

onde posso corrigir isso?

[16] Comentário enviado por seinen em 27/03/2012 - 14:52h

Tenho o mesmo problema que o schiavopbi....
Tudo dando serto mas quando abro a pagina e entro no zabbix o servidor fica assim :

PARAMETRO VALOR DETALHES
zabix está rodando não localhost:100

Algem pode ajudar????

[17] Comentário enviado por alessandro.silva em 29/03/2012 - 09:08h

Pessoal,
Verifiquem se os parâmetros do arquivo de configuração onde você define a criação do arquivo de log e do PID estão apontando para o local correto. Em geral, as pessoas erram neste ponto da instalação.

[18] Comentário enviado por seinen em 29/03/2012 - 21:54h

Eu segui o tutorial, e ele dizia para configurar este ficheiro e modificar o PID e o LOG para estes sítios:

/etc/zabbix/zabbix_server.conf


# Caminho do arquivo pid do Zabbix Server
PidFile=/var/tmp/zabbix/zabbix_server.pid

# Caminho do arquivo de log do Zabbix Server
LogFile=/var/log/zabbix/zabbix_server.log


Estarão errados ?? :s

[19] Comentário enviado por alessandro.silva em 30/03/2012 - 08:27h

Verifique se o arquivo de configuração do deamon, no /etc/init.d está acompanhando as mesmas configurações.

[20] Comentário enviado por LesleyRibeiro em 03/04/2012 - 15:35h

Excelente artigo!
Galera, quem quiser usar o zabbix com MySql em outro servidor, nao esqueça de trocar a linha:
bind-address = 127.0.0.1
para:
bind-address = 0.0.0.0
Fazendo isso o outro servidor poderá enxergar a base de dados.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts