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: 72.144 ]

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

Software Livre: Migração de mentalidade

A Revista Espírito Livre

DNS - Digital Nervous System

O Movimento Software Livre

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

Leitura recomendada

Visopsys - Sistema Operacional aberto e portátil para manipulação de discos rígidos

Monitorando automaticamente o Docker com Zabbix

Instalação do Oracle 10g 86 x64 no Cent OS

Aptitude, uma ferramenta poderosa

Usando as muitas funcionalidades do Aterm

  
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