Configurando Zabbix Proxy

By | 26 de março de 2012

     Muitas vezes precisamos monitorar ambientes remotos, onde podemos ter vários dispositivos que precisam ser monitorados. Se esses itens forem monitorados diretamente, pode ocasionar perca de dados, visto o volume de informações enviadas. Com isso, é comum termos 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:

 Instalando o Zabbix Proxy

 Ambiente: Linux Centos 5.7 , Zabbix 1.8.7

Suprir as dependências:

# yum -y install httpd php php-mysql php-gd php-bcmath php-common php-mbstring mysql mysql-server mysql-devel net-snmp net-snmp-devel net-snmp-utils net-snmp-libs gcc curl curl-devel

 Download dos pacotes Zabbix

# mkdir /install
# cd /install
# wget http://prdownloads.sourceforge.net/zabbix/zabbix-1.8.7.tar.gz?download
# wget http://www.zabbix.com/downloads/1.8.5/zabbix_agents_1.8.5.linux2_6.i386.tar.gz

Descompactar os pacotes

# tar xvfz zabbix-1.8.7.tar.gz
# tar xvfz zabbix_agents_1.8.5.linux2_6.i386.tar.gz 

Criar a base de dados do zabbix

# service mysqld start
# mysql -u root
mysql> create database zabbix;
mysql> quit;

# cd zabbix-1.8.7/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

Adicionando usuário Zabbix

# adduser –shell /bin/false zabbix

Compilando e instalando o Proxy

# cd ../..
# ./configure –enable-server –with-mysql –with-net-snmp –with-libcurl –enable-agent –enable-proxy
# make install 

 Editar o /etc/services

# vi /etc/services

zabbix-agent 10050/tcp #Zabbix Agent
zabbix-agent 10050/udp #Zabbix Agent
abbix-trapper 10051/tcp #Zabbix Trapper
zabbix-trapper 10051/udp #Zabbix Trapper

Configurar zabbix_server.conf

# mkdir /etc/zabbix
# cd /etc/zabbix
# cp /install/zabbix-1.8.7/misc/conf/zabbix_server.conf . 

NOTA: Nesta instalação, não está sendo utilizado senha para o banco de dados. Caso utilize senha para o banco de dados, editar as seguintes opções no arquivo zabbix_server.conf:

DBUser=Usuário do banco de dados
DBPassword=Senha do banco de dados

No arquivo padrão existem várias outras opções comentadas, veja se alguma não se aplica ao seu cenário.

Descompactar o agente

# cp /install/zabbix_agents_1.8.5.linux2_6.i386.tar.gz .
# tar xzvf zabbix_agents_1.8.linux2_6.i386.tar.gz
# cp /install/zabbix-1.8.7/misc/conf/zabbix_agentd.conf .
# mv zabbix-1.8.5/bin/* .
# mv zabbix-1.8.5/sbin/* .
# rm -rf zabbix-1.8.5/
# rm -rf zabbix_agents_1.8.5.linux2_6.i386.tar.gz
# chown -R zabbix:zabbix /etc/zabbix/

 

Configurar o agente

# vim /etc/zabbix/zabbix_agentd.conf

Server=IP do Zabbix Proxy
Hostname=Nome da máquina Cliente
StartAgents=3
DebugLevel=3
PidFile=/var/tmp/zabbix_agentd.pid
LogFile=/tmp/zabbix_agentd.log
Timeout=3

Editar /etc/zabbix/zabbix_proxy.conf

# vim /etc/zabbix/zabbix_proxy.conf

Server=IP do servidor Gerente
Hostname=Nome do proxy
LinstenPort=10052

Configurar serviços para inicialização automática

# ntsysv

Habilite: httpd e mysql

# echo “/etc/zabbix/zabbix_server -c /etc/zabbix/zabbix_server.conf” >> /etc/rc.d/rc.local
# echo “/etc/zabbix/zabbix_proxy -c /etc/zabbix/zabbix_proxy.conf” >> /etc/rc.d/rc.local
# echo “/etc/zabbix/zabbix_agentd -c /etc/zabbix/zabbix_agentd.conf” >> /etc/rc.d/rc.local

NOTA: Você pode optar por inicializar o Zabbix também pelo ntsysv, como descrito em http://zabbixbrasil.org/wiki/tiki-index.php?page=Iniciando+o+Zabbix+Compilado+automaticamente+pelo+ntsysv+no+CentOS+5.4

 

Configurando o Proxy no Servidor Zabbix

No Servidor Zabbix, vá em Administration-DM e altere Nodes para Proxies. 

Em seguida vá em Create Proxy. Digite o nome do Proxy e clique em “save”.

 

Agora basta criar os hosts remotos, lembrando o seguinte:

Name: Nome da máquina remota, deve ser o mesmo que consta no arquivo /etc/zabbix/zabbix_agentd da máquina.

IP address: É o IP que o Proxy irá acessar.

Monitored by proxy: Selecionar o proxy criado.

 

E pronto! Caso não incie a monitoria em alguns minutos, reinicie o serviço zabbix_agentd e zabbix_proxy no Zabbix Proxy.

Observação: Nesse tutorial não foi abordado liberações no Firewall. Certifique-se que todas as portas utilizadas estão liberadas em seu Firewall

 

Referencias: