Zabbix : Configurando o Proxy

Neste post será apresentado como configurar o Zabbix Proxy , que é o serviço que coleta dados em uma situação remota e envia para o servidor do Zabbix.

Na figura abaixo estou apresentando um exemplo sobre como funciona a solução.

Captura de Tela 2016-04-16 às 22.23.27

No exemplo da imagem acima podemos observar que o servidor Zabbix não consegue se comunicar com o servidor da rede B devido o firewall que está bloqueando a comunicação , por uma questão de segurança ou redução do tempo de resposta o Zabbix Proxy coleta os dados para o Zabbix Server.

OBS : Instalação validada para as versões 2.x e 3.x

1) Ambiente :

10.0.0.5 – Zabbix Server
10.0.0.6 – Zabbix Proxy
10.0.0.10 – Zabbix Agent

Ambiente configurado em RHEL 7

2) Requisitos :

Habilitando o repositório do RPMForge :

rpm -Uvh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm

Link para de como utilizar o RPMForge em todas as versões :

http://repoforge.org/use/

Instalação dos pacotes necessários no servidor do Proxy :

yum -y install sqlite sqlite-devel net-snmp net-snmp-devel net-snmp-utils net-snmp-libs gcc gcc-devel gcc-devel curl curl-devel fping

Download do pacote zipado no site do Zabbix :

https://sourceforge.net/projects/zabbix/files/latest/download

3) Instalação do Zabbix Proxy :

Descompactação do arquivo

tar -xvf zabbix-3.0.1.tar.gz 
cd zabbix-3.0.1

Configuração do SQLite

 cd database/sqlite3
 mkdir /var/lib/sqlite/
 sqlite3 /var/lib/sqlite/zabbix.db < schema.sql
 chown -R zabbix:zabbix /var/lib/sqlite/

Crie o usuário da aplicação

adduser zabbix -s /bin/false

Compilação e instalação

./configure --enable-proxy --enable-agent --sysconfdir=/etc --with-net-snmp --with-sqlite3 --with-libcurl
make install
cd /usr/local/etc/
ln -s /etc/zabbix_proxy.conf

Arquivo de configuração /etc/zabbix_proxy.conf

Server=IP do Servidor do Zabbix
Hostname=Nome do Servidor Proxy Zabbix
Hostname=Zabbix proxy
DBName=/var/lib/sqlite/zabbix.db

Iniciando o zabbix proxy

zabbix_proxy 

Captura de Tela 2016-04-16 às 23.21.41

4) Cadastrando o Proxy no Zabbix Server:

Acessando o zabbix server http://10.0.0.5/zabbix
selecione Administration > Proxies

Captura de Tela 2016-04-17 às 00.25.47

Clique em “Create Proxy”

Captura de Tela 2016-04-16 às 23.28.54

Cadastrando o Proxy

Proxy Name : zbxproxy
Proxy Mode : Active

Captura de Tela 2016-04-16 às 23.42.45

Caso esteja tudo ok o “Last Seen (Age)” irá apresentar o tempo que o Servidor está conseguindo se comunicar

Captura de Tela 2016-04-16 às 23.44.38

5) Configurando o agente do servidor cliente :

Instalação do cliente baseada no post :

http://fajlinux.com.br/monitoring/zabbix-script-para-instalacao-de-agentes-no-linux/

Configuração do arquivo /etc/zabbix/zabbix_agentd.conf

Server=IP do Zabbix Proxy
Hostname=Nome da máquina Cliente
ServerActive=IP do Zabbix Proxy

Para simularmos melhor a configuração do Proxy estou habilitando o Firewalld com regras para que só o Proxy possa acessar o Agente cliente

systemctl start firewalld 
firewall-cmd  --permanent --new-zone=zabbix
firewall-cmd  --permanent --zone=zabbix --add-source=10.0.0.6/32
firewall-cmd  --permanent --zone=zabbix  --add-port=10050/tcp
firewall-cmd  --permanent --zone=zabbix  --add-port=10051/tcp
firewall-cmd --reload

Tela de cadastro o cliente no servidor do Zabbix

Captura de Tela 2016-04-17 às 00.03.50

Selecionamos o Proxy durante o cadastro

Captura de Tela 2016-04-17 às 00.04.50

Pelos logs do proxy é visto que a coleta dos dados do cliente está sendo feita.

 64096:20160417:001533.572 enabling Zabbix agent checks on host "lxczbx-01": host became available
 

Referências :

http://zabbixbrasil.org/wiki/tiki-index.php?page=Implementando+Zabbix+2.x+Proxy+em+Ambiente+CentOS