Configuração de Roteamento de Tráfego no Fathom Lite: Exemplos de Regras

Fathom Lite é uma ferramenta de análise de websites focada em privacidade, desenvolvida com Golang e Preact. A configuração adequada das regras de roteamanto de tráfego na malha de serviços é crucial para a precisão da coleta de dados e a estabilidade do sistema. Este guia apresenta exemplos práticos de configuração de roteamento.

Instalação Inicial

Antes de configurar o roteamento, é necessário instalar o Fathom Lite. Obtenha o pacote apropriado para seu sistema operacional e arquitetura, extraia os binários e conceda permissões de execução.

tar -xf fathom_$VERSAO_$SO_$ARQ.tar.gz -C /usr/local/bin/
chmod u+x /usr/local/bin/fathom

Verifique a instalação executando o comando fathom --version.

Parâmetros de Configuração Básica

Crie um arquivo de configuração, como fathom.env, com variáveis de ambiente essenciais. Abaixo, um exemplo com nomes de variáveis ajustados:

HABILITAR_COMPRESSAO=true
MODO_DEPURACAO=true
TIPO_BANCO_DADOS="sqlite3"
NOME_BANCO_DADOS="./analises.db"
USUARIO_BANCO=""
SENHA_BANCO=""
HOST_BANCO=""
SSL_BANCO=""
CHAVE_SECRETA="minha-chave-aleatoria"

Ajuste conforme as necessidades do seu ambiente, especialmente para bancos de dados externos.

Exemplos de Regras de Roteamento

Roteamento Baseado no Tipo de Banco de Dados

O roteamento para diferentes bancos de dados é definido pelos parâmetros de conexão. Para MySQL:

TIPO_BANCO_DADOS=mysql
URL_BANCO_DADOS=admin:@tcp(db-host:3306)/fathom_db?loc=Local&parseTime=true

Este exemplo direciona o tráfego de dados para uma instância MySQL específica.

Para PostgreSQL com SSL desativado:

TIPO_BANCO_DADOS=postgres
NOME_BANCO_DADOS=analytics
USUARIO_BANCO=admin_user
SENHA_BANCO=senha_forte
HOST_BANCO=localhost
SSL_BANCO=disable

A configuração SSL_BANCO=disable resolve erros de conexão quando o servidor não suporta SSL.

Roteamento por Porta do Servidor

Defina a porta de escuta do servidor Fathom Lite usando o parâmetro ENDERECO_SERVIDOR. Exemplo:

ENDERECO_SERVIDOR=8080

Isso faz com que o serviço processe tráfego na porta 8080 em vez da porta padrão.

Roteamento via Proxy Reverso com NGINX

Para gerenciar o tráfego em produção, utilize um proxy reverso. Uma configuração de exemplo no NGINX:

server {
    nome_servidor analytics.meusite.com;

    location / {
        definir_cabecalho X-IP-Real $remote_addr;
        definir_cabecalho X-Encaminhado-Para $remote_addr;
        definir_cabecalho Host $host;
        encaminhar_para http://127.0.0.1:8080;
    }
}

Este bloco redireciona requisições de analytics.meusite.com para o serviço Fathom Lite na porta 8080. Teste a configuração com nginx -t e recarregue o serviço.

Gerenciamento Avançado de Regras

Utilize a flag --config para carregar arquivos de ambiente específicos, permitindo perfis distintos para desenvolvimento e produção.

fathom --config=./configs/producao.env servidor

Isso facilita a alternância entre diferentes conjuntos de regras de roteamento sem modificar o código.

Solução de Problemas Comuns

Se encontrar erros de conexão com PostgreSQL relacionados a SSL, verifique se SSL_BANCO está definido como disable no arquivo de configuração. Para problemas de roteamento, inspecione os logs do NGINX e do Fathom Lite para diagonsticar bloqueios ou redirecionamentos incorretos.

Tags: Fathom Lite Golang Preact Roteamento de Tráfego nginx

Publicado em 8-2 22:47