Nesta semana alguns companheiros do fórum Zabbix-Brasil começaram um tópico a respeito de monitoração usando raspberry e zabbix proxy.
Visando auxiliar a todos publico aqui o meu passo a passo para instalação do zabbix-proxy em um RaspberryPI.
A distribuição de linux escolhida foi o Debian disponível na página oficial do fornecedor do hardware (clique aqui).
Este tutorial começa após a instalação normal dele, então se precisas de informações sobre como instalar o sistema operacional do raspberry consulte a na página de download existem informações a respeito de como criar a imagem, pois não iremos repetir tais informações para não fugir ao tema.
O primeiro passo, no raspberry ou em qualquer instalação de servidor ao meu ver, é garantir que todos os pacotes básicos estejam devidamente atualizados.
1
2
| apt-get update; apt-get upgrade; |
Na sequência vamos instalar os pacotes básicos para possibilitar a compilação e a gerência do dispositivo. Enquanto o comando abaixo estiver sendo executado aproveite para buscar um café ou ler outros artigos aqui do blog pois devido às características do hardware o comando abaixo irá gastar facilmente uns 10 minutos.
1
| 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 |
Crie o usuário do Zabbix.
1
| useradd zabbix -s /bin/false |
Agora vamos efetuar o download do source do Zabbix (sim… sempre gosto de instalar a partir dos sources, existem repositórios mas prefiro os sources… velha guarda… ) e descompactar os arquivos.
1
2
3
4
5
6
7
8
| mkdir /install cd /install VERSAO= "2.0.6" rm *.tgz wget http: //downloads .sourceforge.net /project/zabbix/ZABBIX %20Latest%20Stable/$VERSAO /zabbix- $VERSAO. tar .gz?r=http%3A%2F%2Fwww.zabbix.com%2Fdownload.php&ts=1346344892&use_mirror=ufpr -O zabbix.tgz; mv *.php zabbix.tgz tar -xzvf zabbix.tgz cd zabbix-$VERSAO |
Dependendo de quando você estiver vendo este artigo poderá já existir nova versão do Zabbix disponível então altere o conteúdo da variável VERSAO para refletir a versão que você desejar.
Compile e instale o Zabbix.
1
2
| . /configure -- enable -proxy -- enable -agent --with-sqlite3 --with-net-snmp --with-libcurl --with-openipmi make install |
O Zabbix-Proxy irá rodar com SQLite, por qual motivo ? Ele é leve e tem baixíssimo custo de IO e o seu raspberry tem um cartão SD que irá rapidamente falhar se você usar algum outro banco com mais recursos e maior consumo de IO. Crie agora o banco de dados e altere o permissionamento para que o usuário Zabbix tenha controle dos arquivos:
1
2
3
4
5
6
| cd database /sqlite3 mkdir /var/lib/sqlite/ sqlite3 /var/lib/sqlite/zabbix .db < schema.sql; sqlite3 /var/lib/sqlite/zabbix .db < images.sql; sqlite3 /var/lib/sqlite/zabbix .db < data.sql; chown -R zabbix:zabbix /var/lib/sqlite/ |
Neste momento temos os binários do Zabbix e a base de dados criados. Vamos configurar o proxy.
1
| vi /usr/local/etc/zabbix_proxy .conf |
Garanta que o arquivo de configuração possua as configurações abaixo. Trocando apenas <IP_SERVIDOR_ZABBIX> pelo respectivo IP.
1
2
3
4
5
| ProxyMode=1 Server=<IP_SERVIDOR_ZABBIX> DBName= /var/lib/sqlite/zabbix .db DBUser=zabbix ConfigFrequency=120 |
Agora precisamos copiar e configurar os arquivos de inicialização do Zabbix. Algumas linhas especiais deverão ser adicionadas no início dos scripts de inicialização para adequa-los ao padrão do raspberry.
1
2
| cp - v misc /init .d /debian/zabbix- * /etc/init .d/ mv /etc/init .d /zabbix-server /etc/init .d /zabbix-proxy |
Edite o arquivo /etc/init.d/zabbix-proxy e adicione as linhas abaixo a partir na linha de número 6.
1
2
3
4
5
6
7
8
9
| ### 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 |
O mesmo procedimento deverá ser executado contra o arquivo /etc/init.d/zabbix-agent.
1
2
3
4
5
6
7
8
9
| ### 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 |
Configure o sistema operacional para possibilitar a carga automática do Proxy e do agente.
1
2
| update-rc.d -f zabbix-proxy defaults update-rc.d -f zabbix-agent defaults |
Pronto, seu raspberypi está apto a funcionar como um proxy do Zabbix
Nenhum comentário:
Postar um comentário