30 de junho de 2016

Zabbix Proxy com PostgreSQL no CentOS 7


O processo de monitoramento de redes remotas através do Zabbix geralmente necessita que uma VPN seja estabelecida entre a matriz e a unidade monitorada, ou que diversas publicações de NAT para os servidores monitorados sejam feitas. Isso não é muito prático, devido à quantidade de dados que trafegarão entre o cliente e o servidor, e à dificuldade que esse tipo de liberação gera em muitas estruturas.

Nesse cenário, o Zabbix proxy é utilizado para monitorar uma infraestrutura remota e enviar os dados coletados ao Zabbix Server de uma só vez, centralizando todo o processo de coleta remota.

Por Diego Santana




O procedimento a seguir demonstra como realizar a compilação e instalação do Zabbix Proxy num servidor CentOS 7, utilizando o PostgreSQL como servidor de banco de dados.

Este procedimento assume que você esteja logado como root.


1 - Desativar o firewall iptables
# systemctl stop firewalld
# systemctl disable firewalld

1.1 – Apagar regras default do iptables
# iptables -F
# iptables -X
# iptables -t nat -F
# iptables -t nat -X
# iptables -t mangle -F
# iptables -t mangle -X

1.2 - Desabilitar o selinux
# sed -ie "s/=enforcing/=disabled/" /etc/selinux/config
# reboot
OBS: Você pode desabilitar o selinux manualmente mudando o valor enforcing para disabled no arquivo /etc/selinux/config

1.3 - Atualizar o sistema.
# yum update -y; yum upgrade

2 - É preciso instalar os pacotes necessários para que seja possível compilar o proxy.
# yum groupinstall -y "Development Tools";yum install -y vim postgresql-server postgresql-devel net-snmp net-snmp-devel libssh2-devel

3 - Realizar o download do fonte do programa fping, utilizado pelo proxy para monitorar a conexão dos clientes.
# wget http://fping.org/dist/fping-3.13.tar.gz
# tar -zxvf fping-*.tar.gz
# cd fping-*
# ./configure
# make
# make install

3.1 - Configurar as permissões do fping
# chown root:root /usr/local/sbin/fping
# chmod a+s /usr/local/sbin/fping

4 - Realizar o download e extrair o código fonte do zabbix.
# wget http://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/3.0.3/zabbix-3.0.3.tar.gz
# tar -zxvf zabbix-*.tar.gz
# cd zabbix-*

5 - Adicionar o usuário zabbix e adicioná-lo ao grupo apropriado.
# groupadd zabbix
# useradd -g zabbix zabbix

6 - Inicializar o banco de dados Postgre.
# postgresql-setup initdb

7 - Editar o arquivo de configuração HBA inserindo as linhas como segue e salvar.
# vim /var/lib/pgsql/data/pg_hba.conf

local all all trust
host all all 127.0.0.1/32 trust
host all all 192.168.10.0/24 trust
host all all ::1/128 trust
OBS: Modificar o endereço 192.168.10.0/24 com o endereço da sua rede, para permitir conexões ao banco de dados. É possível liberar conexões para um IP apenas, inserindo o IP completo no lugar do endereço de rede.

8 - Editar o arquivo de configuração do postgresql e inserir/alterar a linha como segue
para permitir que o serviço ouça conexões em todas as interfaces.
# vim /var/lib/pgsql/data/postgresql.conf

listen_addresses = '*'

9 - Iniciar e habilitar o início automático do PostgreSQL.
# systemctl start postgresql
# systemctl enable postgresql

10 - Entrar no PostgreSQL e criar a base de dados e o usuário do Zabbix.
# psql -U postgres
psql> create database zabbix;
psql> CREATE USER zabbix WITH PASSWORD 'Password';
psql> GRANT ALL PRIVILEGES ON DATABASE zabbix to zabbix;
psql> FLUSH PRIVILEGES
psql> \q

11 - Realizar a importação das tabelas necessárias para a criação da base de dados.
# cd database/postgresql/
# psql -U zabbix zabbix < schema.sql

12 - Criar a senha da base de dados do zabbix.
# psql -U postgres zabbix
\password
\q
Será apresentado um prompt solicitando a inserção da senha para acesso à base de dados. Insira a senha e saia através do comando \q

13 - Entrar na pasta com o fonte e compilar o servidor Zabbix proxy, com suporte a snmp.
# cd zabbix-*
# ./configure --prefix=/usr --enable-proxy --with-net-snmp --with-postgresql
# make install

14 - Criar os diretórios necessários para a execução do deamon.
# mkdir /var/log/zabbix/
# mkdir /var/run/zabbix/
# chown zabbix:zabbix /var/log/zabbix/
# chown zabbix:zabbix /var/run/zabbix/

15 - Editar o arquivo de configuração do proxy e inserir as linhas como abaixo.
# vim /usr/etc/zabbix_proxy.conf

#Utilizar as opções Server e ServerPort apenas para o Proxy no modo Active
Server=ip_do_zabbix_server
ServerPort=porta_do_zabbix_server
Hostname=hostname_proxy
LogFile=/var/log/zabbix/zabbix_proxy.log
LogFileSize=10
PidFile=/var/run/zabbix/zabbix_proxy.pid
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=Password
DBPort=5432
FpingLocation=/usr/local/sbin/fping
ConfigFrequency=3600
DataSenderFrequency=30
User=zabbix

OBS: Por padrão o serviço do Zabbix Proxy é configurado para escutar conexões na porta 10051, mas isso é configurável através da opção "Port". Esta porta deve ser liberada no sistema de Firewall para que o servidor Zabbix consiga se comunicar com o Proxy.

16 - Copiar o arquivo necessário para inicialização do deamon, e alterar as linhas como à seguir:
# cp zabbix-*/misc/init.d/fedora/core/zabbix_server /etc/init.d/zabbix_proxy

# vim /etc/init.d/zabbix_proxy
BASEDIR=/usr
BINARY_NAME=zabbix_proxy
PIDFILE=/var/run/zabbix/$BINARY_NAME.pid

17 - Iniciar o serviço do Zabbix Proxy
/etc/init.d/zabbix_proxy start




CADASTRAR O PROXY NO SERVIDOR ZABBIX

1 – Acessar a interface web do servidor Zabbix, siga para a aba Administration, e depois acesse Proxies.
1.1 – Clique em Create proxy, e adicione o mesmo hostname cadastrado no arquivo de configuração do Proxy (Seção 15 deste documento), selecione modo Active e clique em Add.

Active: O proxy irá se conectar ao servidor solicitando os dados de configuração para iniciar a coleta. Nesse caso, não é necessário cadastrar nenhuma informação de endereço IP ou porta do Zabbix Proxy. Caso o Zabbix proxy esteja rodando atrás de um firewall com NAT, esta é a opção mais recomendada, não sendo necessário realizar a publicação da porta do serviço do Zabbix proxy.

Passive: O servidor Zabbix se conectará ao Proxy e enviará os dados para que a coleta seja realizada pelo proxy. Quando esta opção é selecionada uma nova opção é exibida solicitando o endereço IP e porta do Zabbix Proxy. Caso o Zabbix Server esteja rodando atrás de um firewall com NAT esta é a opção mais recomendada, não sendo necessário informar IP e porta de publicação do serviço do Zabbix Server no arquivo de configuração do Proxy.

Nenhum comentário:

Postar um comentário