Configurando o Zabbix Proxy no Raspberry Pi

Este tutorial foi escrito baseado no tutorial de Adail Spinola disponível em: http://spinola.net.br/blog/2013/05/11/tutorial-instalando-zabbix-em-raspberry/

Ensinamos aqui a configurar o Raspberry Pi como proxy Ativo do Zabbix, ou seja, ele envia os dados coletados na rede local para um Zabbix Server na nuvem.

A imagem abaixo ilustra o nosso cenário.

Primeiro vamos atualizar nosso sistema

sudo apt-get update
sudo apt-get upgrade

Instale as dependências

sudo apt-get -y install build-essential snmp libiksemel-dev libcurl4-gnutls-dev vim libssh2-1-dev libssh2-1 libopenipmi-dev libsnmp-dev wget curl fping snmp-mibs-downloader libldap2-dev libldap2-dev iotop ntp libsqlite3-dev sqlite3 libgnutls28-dev libssl1.1 libssl-dev libpcre3-dev libevent-dev

Crie o usuário zabbix

sudo useradd zabbix -s /bin/false

Crie uma pasta para armazenar os arquivos de instalação

mkdir ~/install
cd ~/install

Faça o download dos fontes do Zabbix, em nosso caso estamos utilizando a versão 5.2.5.

https://www.zabbix.com/download_sources

wget https://cdn.zabbix.com/zabbix/sources/oldstable/5.2/zabbix-5.2.5.tar.gz

tar -zxvf zabbix-5.2.5.tar.gz
cd zabbix-5.2.5

Compilando e instalando o pacote

sudo ./configure --prefix=/usr --enable-proxy --enable-agent --with-net-snmp --with-sqlite3 --with-ssh2 --with-gnutls --with-libcurl
sudo make install

 

Configurando o Banco de Dados. Para o Zabbix Proxy apenas o arquivo schema.sql deve sem importado.


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

sudo cp -v misc/init.d/debian/zabbix-* /etc/init.d/
sudo mv /etc/init.d/zabbix-server /etc/init.d/zabbix-proxy

Editar o arquivo /etc/init.d/zabbix-proxy e remover a referência à pasta local e adicionar os parâmetros de inicialização:

sudo nano /etc/init.d/zabbix-proxy


### BEGIN INIT INFO
# Provides:          zabbix_proxy
# Required-Start:    $all
# Required-Stop:
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Zabbix proxy
# Description:       Zabbix proxy daemon
### END INIT INFO

NAME=zabbix_proxy
DAEMON=/usr/sbin/${NAME}
DESC="Zabbix proxy daemon"

Editar o arquivo /etc/init.d/zabbix-agent e remover a referência à pasta local e adicionar os parâmetros de inicialização:

sudo nano /etc/init.d/zabbix-agent


### BEGIN INIT INFO
# Provides:          zabbix_agent
# Required-Start:    $all
# Required-Stop:
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Zabbix agent
# Description:       Zabbix agent daemon
### END INIT INFO

NAME=zabbix_agentd
DAEMON=/usr/sbin/${NAME}

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

Este processo pode demorar alguns segundos

A chave gerada, por exemplo 237D9A2C525285505751A0E11A74980B, deve ser inserida na configuração do proxy no Zabbix Server. (Será mostrado mais à frente)

Editando o arquivo /usr/etc/z