Zabbix Proxy 4.4 com Raspberry PI 3

Fala pessoal!

Neste artigo vamos montar um Zabbix Proxy 4.4 rodando em um Raspberry Pi 3 Modelo B.

O Zabbix proxy é muito utilizado para monitoramento distribuído, coleta os dados locais e remotos e envia para o Zabbix Server. Isso garante ao ambiente um melhor desempenho se comparado ao modelo mais comum que é um único Zabbix Server coletando todos os dados da rede.

Com o modelo de Proxy temos as seguintes vantagens:

  • O Zabbix Server se livra da grande carga de processamento das coletas individuais, pois ele delega está função ao Zabbix Proxy.
  • Economia de banda, uma vez que precisamos somente uma conexão entre o Zabbix Server e o Zabbix Proxy para troca das informações coletadas.
  • Caso o Zabbix Server fique indisponível, o Zabbix Proxy continua coletando as informações e as envia quando o servidor ficar online novamente.

O intuito deste artigo e preparar o ambiente para um segundo artigo onde vamos levar todo nosso monitoramento local (on premise) para a nuvem da Azure.

Logo o modelo de proxy faz todo sentido para que seja possível obter sucesso em nosso próximo projeto.

Mesmo que você não tenha em mente levar seu ambiente para nuvem, recomendo fortemente que você pense em desenhar sua arquitetura de monitoramento de forma descentralizada. Você terá mais desempenho e escalabilidade neste ambiente.

Além da escolha do modelo descentralizado com Proxy para Zabbix, a escolha do Raspberry Pi tem como objetivo:

  • Diminuir custo com hardware.
  • Diminuir consumo de energia.
  • Diminuir custo com refrigeração.
  • Economizar espaço físico.

1.1 Instalar o Sistema Operacional.

Baixe a imagem do sistema operacional Raspibian Buster Lite.

Raspibian Buster Lite

1.2 Instalar o Sistema Operacional.

Baixe o software para queimar a imagem no MicroSD.

BalenaEtcher

Selecione a imagem e o cartão que deseja utilizar e de flash!

2.1 Configurações Iniciais

Depois do início do sistema acesse com:

Usuário: pi
Senha: raspberry

Habilitando o acesso SSH

Por padrão o acesso via SSH vem desabilitado. E você deve habilitar manualmente.

sudo raspi-config

Selecione Interfacing Options

Em seguida selecione SSH

Habilite o serviço

Alterando a região

sudo raspi-config

Selecione Localisation Options

Em seguida Change Timezone

Escolha a Área Geográfica

Escolha a cidade correspondente

Configurar IP estático

Altere o arquivo /etc/dhcpcd.conf 

vi /etc/dhcpcd.conf  
interface eth0
static ip_address=192.168.0.10/24
static routers=192.168.0.1
static domain_name_servers=192.168.0.1 8.8.8.8

Salve o arquivo e reinicie o sistema.

sudo reboot

A configuração inicial está concluída.
Outras configurações, como nomes de host troca de senhas e usuários adicionais, devem ser feitas conforme sua necessidade.

Em seguida, vamos começar a instalação do Zabbix Proxy

3.1 Adicionando repositórios

Para instalação do Zabbix vamos incluir o repositório do oficial do Zabbix.

Versão 4.4

wget https://repo.zabbix.com/zabbix/4.4/raspbian/pool/main/z/zabbix-release/zabbix-release_4.4-1+buster_all.deb
dpkg -i zabbix-release_4.4-1+buster_all.deb

3.2 Atualizando o repositório e realizando a instalação

apt update ; apt upgrade
apt -y install zabbix-proxy-sqlite3 zabbix-agent

4.1 Banco de Dados SQLite3

Em nosso Zabbix Proxy, iremos rodar o banco de dados SQLite. Ele é leve e tem baixo consumo de IO, como utilizamos em nosso raspberry um cartão SD isso é extremamente importante, pois se você usar algum outro banco com maior consumo de IO, provavelmente seu SD vai falhar logo, logo!

mkdir /var/lib/sqlite3

4.2 Criando o banco de dados inicial

zcat /usr/share/doc/zabbix-proxy-sqlite3/schema.sql.gz | sqlite3 /var/lib/sqlite3/zabbix.db

Crie o usuário do Zabbix

useradd zabbix -s /bin/false

De permissão ao banco de dados

chown -R zabbix.zabbix /var/lib/sqlite3

5.1 Configurando o servidor Proxy

vi /etc/zabbix/zabbix_proxy.conf
ProxyMode=0
Server=<ip de seu zabbix server>
# Hostname=zabbix-proxy # Deixar comentado
ServerPort=10051
HostnameItem=system.hostname
ListenPort=10051
LogFileSize=2
DebugLevel=3
DBName=/var/lib/sqlite3/zabbix.db
#DBUser=zabbix # Manter comentado
HeartbeatFrequency=60
ConfigFrequency=120
ProxyOfflineBuffer=24
DataSenderFrequency=1
StartIPMIPollers=5
StartPingers=5
StartDiscoverers=5
StartVMwareCollectors=2
Timeout=4
FpingLocation=/usr/bin/fping
LogSlowQueries=3000
TLSConnect=psk
TLSPSKIdentity=zabbix-proxy
TLSPSKFile=/usr/local/etc/zabbix-proxy.psk

5.2 Gerando chave de conexão criptografada

Agora vamos gerar uma chave para conexão com o zabbix Server.

hexdump -n 16 -e '4/4 "%08X" 1 "\n"' /dev/random | sudo tee /usr/local/etc/zabbix-proxy.psk

Salve a chave gerada, ela deve ser inserida na configuração do proxy no Zabbix Server. 

5.3 Configurando o agente Proxy

vi /etc/zabbix/zabbix_agent.conf
LogFileSize=2
DebugLevel=3
EnableRemoteCommands=1
LogRemoteCommands=1
Server=127.0.0.1
ListenPort=10050
StartAgents=5
ServerActive=127.0.0.1
HostnameItem=system.hostname
Timeout=3

5.4 Iniciando o Zabbix Proxy e Agente junto com a inicialização do sistema.

systemctl enable zabbix-proxy
systemctl enable zabbix-agent
systemctl restart zabbix-proxy
systemctl restart zabbix-agent

6.1 Configurando o Zabbix Proxy no Zabbix Server

Vá até o seu Zabbix Server, clique em Administration > Proxies
Clieque em Criar proxy

O nome do proxy dever ser o mesmo que você configurou no host do raspberry.

Em Criptografia, marque a opção PSK, insira a PSK identity igual a configurada no arquivo zabbix_proxy.conf e por ultimo, insira a chave PSK.

Clicando em Adicionar, você já terá seu proxy configurado. A coluna Visto pela última vez (tempo) é referente a conexão de seu proxy com o server.

Depois de algum tempo a conexão é estabelecida e você verá a atualização da coluna Visto pela última vez (tempo).

Caso você queira acompanhar os logs em seu servidor proxy, basta utilizar o comando:

tail -f /var/log/zabbix/zabbix_proxy.log

Pronto, agora basta você criar os hots a serem monitorados em seu Zabbix Server.

A configuração é a mesma do cenário centralizado, a única diferença é que agora você deve selecionar no item que ele seja monitorado pelo Zabbix proxy e não mais pelo Zabbix Server.

Bom galera é isso! Espero que gostem do artigo, até o próximo!

Forte Abraço

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *