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.