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.
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 :
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
4) Cadastrando o Proxy no Zabbix Server:
Acessando o zabbix server http://10.0.0.5/zabbix
selecione Administration > Proxies
Clique em “Create Proxy”
Cadastrando o Proxy
Proxy Name : zbxproxy
Proxy Mode : Active
Caso esteja tudo ok o “Last Seen (Age)” irá apresentar o tempo que o Servidor está conseguindo se comunicar
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
Selecionamos o Proxy durante o cadastro
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