Pular para o conteúdo principal

Configurar a coleta

Edite /etc/farol-agent/config.yaml para ajustar a coleta. Os exemplos abaixo mostram trechos: altere as seções já existentes, sem duplicar chaves no YAML.

Identifique o ambiente​

Use o slug do ambiente cadastrado no Farol. env identifica o ambiente nas métricas do host; environment é o campo usado nas buscas de logs.

host:
name: ""
labels:
env: production
environment: production
role: app

Com name vazio, o agente usa o hostname do sistema. O identificador do host é atribuído pelo fluxo de instalação; não invente um host_id na aplicação.

Colete logs de arquivo​

Confirme que o usuário farol-agent consegue ler o arquivo e atravessar os diretórios do caminho. Conceda acesso somente aos logs que precisa coletar.

logs:
batch_interval: 3s
batch_size: 100
files:
- path: /var/log/checkout-api/app.log
labels:
service: checkout-api
environment: production
journald:
enabled: false
units: []

Prefira logs estruturados. Uma linha de exemplo:

{"level":"info","service":"checkout-api","environment":"production","message":"pedido recebido"}

Não registre senhas, tokens, cookies ou dados pessoais sem necessidade. A configuração do logger da aplicação continua sendo responsabilidade da sua equipe.

Logs do systemd​

Para acompanhar uma unidade específica, altere a seção journald:

logs:
journald:
enabled: true
units:
- checkout-api.service

Uma lista vazia acompanha todas as unidades acessíveis. Prefira selecionar as unidades necessárias.

Colete dados do Docker​

docker:
socket: /var/run/docker.sock
logs:
enabled: true
metrics:
enabled: true
workers: 4

O agente descobre os containers em execução. A label Docker obs.service define o nome do serviço; sem ela, o nome do container é usado. Configure a label com o mesmo nome do catálogo do Farol.

Permissão do Docker

O usuário do agente precisa conseguir acessar o socket. O grupo docker concede acesso administrativo ao daemon; habilite essa integração apenas quando precisar dela e siga a política de acesso do seu servidor.

Colete métricas da aplicação​

Exponha um endpoint no formato Prometheus e configure um alvo local. O exemplo abaixo usa o Actuator do Spring Boot:

app_metrics:
scrape_interval: 15s
targets:
- url: http://127.0.0.1:8080/actuator/prometheus
labels:
service: checkout-api
environment: production

O endpoint precisa estar acessível a partir do servidor onde o agente roda. Não exponha métricas publicamente só para permitir a coleta local. O campo service deve coincidir com o cadastro da aplicação.

Valide e aplique​

sudo -u farol-agent farol-agent check-config --config /etc/farol-agent/config.yaml
sudo systemctl restart farol-agent
sudo journalctl -u farol-agent -n 50 --no-pager

Só reinicie se a validação terminar com sucesso. O YAML é estrito: campos desconhecidos e valores inválidos são recusados. check-config valida a configuração; ele não comprova que o arquivo de log pode ser lido ou que o endpoint de métricas responde.

Para validar a coleta, gere um log real e procure sua mensagem no Farol. Nas métricas da aplicação, confira o serviço e os dados após os próximos ciclos de coleta. Logs também exigem que a credencial do agente tenha permissão de envio desse sinal.