Introdução:
Muitas vezes precisamos monitorar ambientes remotos, onde podemos ter
vários dispositivos que precisam ser monitorados. Se esses dispositivos
forem monitorados diretamente, pode ocasionar perda de dados, visto o
volume de informações enviadas, atrasos nas leituras, perda de
informação por indisponibilidade do link, etc. Com isso, é comum que o
Zabbix apresente gráficos incompletos, triggers acionadas erroneamente,
entre outros problemas.
A partir da versão 1.6 o Zabbix dispõe de monitoramento por meio de
Proxy, onde apenas um Agente-Gerente envia as informações para o
Servidor Zabbix, veja exemplo abaixo:
Pré-Requisitos:
Apache (httpd)
Php (php php-common)
Módulos Php:
MySQL (php-mysql)
GD (php-gd)
BC Math (php-bcmath)
Multibyte String (php-mbstring)
XML (php-xml)
MySQL (mysql mysql-server mysql-devel)
Net-Snmp (net-snmp net-snmp-devel net-snmp-utils net-snmp-libs)
GCC (gcc gcc-devel)
cURL (curl curl-devel)
Suprir as Dependências:
Antes de iniciarmos a instalação do Zabbix precisamos suprir as dependências.
# yum -y install httpd php php-common php-mysql php-gd
php-bcmath php-mbstring php-xml mysql mysql-server mysql-devel net-snmp
net-snmp-devel net-snmp-utils net-snmp-libs gcc gcc-devel gcc-devel curl
curl-devel
Realizar o Download dos Fontes:
Por questões de organização eu sempre crio um diretório "/install" e
dentro dele vou criando os sub-diretórios com o nome dos softwares que
preciso instalar.
No caso do Agente observe a Versão do seu Kernel e a Arquitetura do seu
Processador antes de baixar o pacote. No exemplo abaixo, baixei um
pacote compatível com Kernel 2.6 e Arquitetura i386.
# mkdir /install
# cd /install/
# mkdir zabbix
# cd zabbix/
# wget http://prdownloads.sourceforge.net/zabbix/zabbix-*.tar.gz?download
# wget http://www.zabbix.com/downloads/*/zabbix_agents_*.linux2_6.i386.tar.gz
Observação:
Substitua o "
*" pela versão do Zabbix.
Criar a Conta do Usuário Zabbix:
# adduser zabbix -s /bin/false
Descompactar os Fontes:
# tar xzvf zabbix-*.tar.gz
Criar a Base de Dados do Zabbix:
# service mysqld start
# mysql -u root
mysql> create database zabbix;
mysql> quit;
# cd zabbix-*/create/schema/
# cat mysql.sql | mysql -u root zabbix
# cd ../data
# cat data.sql | mysql -u root zabbix
# cat images_mysql.sql | mysql -u root zabbix
Configurar e Compilar os Códigos Fontes (Sources):
# cd ../..
# ./configure --enable-server --with-mysql --with-net-snmp --with-libcurl --enable-agent --enable-proxy
Realizar a Instalação:
# make install
Configurar o "/etc/services":
Edite o arquivo e acrescente ao final do mesmo as informações abaixo
# vi /etc/services
zabbix-agent 10050/tcp #Zabbix Agent
zabbix-agent 10050/udp #Zabbix Agent
zabbix-trapper 10051/tcp #Zabbix Trapper
zabbix-trapper 10051/udp #Zabbix Trapper
Descompactar o Agente:
# mkdir /etc/zabbix
# cp /install/zabbix/zabbix_agents_*.linux2_6.i386.tar.gz /etc/zabbix/
# cd /etc/zabbix/
# tar xzvf zabbix_agents_*.linux2_6.i386.tar.gz
# mv bin/* .
# mv sbin/* .
# rm -rf zabbix_agents_*.linux2_6.i386.tar.gz
# rm -rf bin/
# rm -rf sbin/
Copiar os arquivos de configuração e acertar as permissões do diretório "/etc/zabbix":
# cp /install/zabbix/zabbix-*/misc/conf/zabbix_server.conf .
# cp /install/zabbix/zabbix-*/misc/conf/zabbix_agentd.conf .
# cp /install/zabbix/zabbix-*/misc/conf/zabbix_proxy.conf .
# chown -R zabbix:zabbix /etc/zabbix/
Configurar o "/etc/zabbix/zabbix_server.conf":
# vi /etc/zabbix/zabbix_server.conf
Se a sua base de dados possuir senha altere o parâmetro:
DBPassword=zabbix
Observação:
Neste caso a senha da base de dados é "zabbix".
Configurar o "/etc/zabbix/zabbix_agentd.conf":
# vi zabbix_agentd.conf
Conteúdo Mínimo do Arquivo:
Server=IP do Servidor do Zabbix
Hostname=Nome da máquina Cliente
StartAgents=3
DebugLevel=3
PidFile=/var/tmp/zabbix_agentd.pid
LogFile=/tmp/zabbix_agentd.log
Timeout=3
Configurar o "/etc/zabbix/zabbix_proxy.conf":
# vi zabbix_proxy.conf
Conteúdo Mínimo do Arquivo:
Server=IP do Servidor do Zabbix
Hostname=Nome do proxy
LinstenPort=10052
Observação:
Os arquivos de configuração possuem outros parâmetros, todos com
comentários sobre seu uso, este é o conteúdo mínimo dos arquivos, mas
você deve verificar todas as opções disponíveis e decidir quais
habilitar.
Iniciar o Zabbix:
# /usr/local/sbin/zabbix_server
# /usr/local/sbin/zabbix_agentd
# /usr/local/sbin/zabbix_proxy
Verificar a execução dos processos:
# ps -aux | grep zabbix
Configurar o Proxy no Servidor Zabbix:
A primeira alteração que deve ser feita, caso não tenha sido feita no
momento da instalação, é habilitar o suporte a proxy no Servidor Zabbix.
Configurar e Compilar os Códigos Fontes (Sources):
# cd /install/zabbix/zabbix-*
# ./configure --enable-server --with-mysql --with-net-snmp --with-libcurl --enable-agent --enable-proxy
Realizar a Instalação:
# make install
Parar o Zabbix:
# killall zabbix_server
# killall zabbix_agentd
# killall zabbix_proxy
Iniciar o Zabbix:
# /usr/local/sbin/zabbix_server
# /usr/local/sbin/zabbix_agentd
# /usr/local/sbin/zabbix_proxy
Realizar as Configurações via Interface Gráfica:
Abra o browser e aponte para o endereço do servidor Zabbix.
http://IP/zabbix/
Administration // DM
Em "
CONFIGURATIO OF PROXIES" Altere de
Nodes para
Proxies.
Clique em
Create Proxy.
Proxy name: Digite o nome do Proxy
Proxy mode: Active
Hosts: Zabbix server
Clique em “Save”
Configuration // Hosts // Create Host
Name: Nome do Host
Deve ser o mesmo que consta no arquivo /etc/zabbix/zabbix_agentd do host.
Groups: Grupo do Host
IP address: IP do Proxy
Monitored by proxy: Zabbix proxy
Status: Monitored
Linked templates: Template_Linux
Clique em “Save”
Exemplo de uma máquina Windows:
Name: Nome do Host
Deve ser o mesmo que consta no arquivo /etc/zabbix/zabbix_agentd do host.
Groups: Grupo do Host
IP address: IP do Proxy
Monitored by proxy: Zabbix proxy
Status: Monitored
Linked templates: Template_Windows
Clique em “Save”
Exemplo de Gráfico Gerado pelo Proxy:
Observações:
Se o monitoramento não inciar em alguns minutos, reiniciar os serviços
zabbix_server, zabbix_agentd e zabbix_proxy no Zabbix Proxy.
Nesse tutorial não foram abordadas as liberações no Firewall.
Certifique-se que todas as portas utilizadas estão liberadas em seu
Firewall.
Referencias:
Wiki Zabbix Brasil
Livro Zabbix 1.8 Network Monitoring - Rihards Olups
Social