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
zabbix-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:
- Livro Zabbix 1.8 Network Monitoring - Richard Olups