Marcio Cunha

Logs em excesso? Como usar Vector e Loki sem gastar demais

Aprenda a filtrar, mascarar dados sensíveis e compactar fluxos de log de alta volumetria usando o Vector antes de enviá-los para o Grafana Loki.

Marcio Cunha•4 min
Também disponível em:EnglishEspañol
Resumo
  • O excesso de logs não tratados satura o armazenamento e eleva drasticamente os custos operacionais do Grafana Loki
  • Vector atua como um agente de coleta ultrarrápido capaz de processar e transformar fluxos massivos de dados em tempo real
  • A filtragem na origem bloqueia ruídos e mensagens irrelevantes antes que alcancem a camada de persistência
  • O mascaramento remove tokens, senhas e CPFs de forma automatizada para garantir conformidade com leis de privacidade
  • Pipelines bem configurados combinam compressão e particionamento eficiente para otimizar consultas analíticas

Por que o volume de logs explode nos ambientes modernos?

Quando aplicações crescem e microsserviços se multiplicam, a quantidade de dados gerados em formato de texto — os chamados logs — dispara de maneira exponencial. Cada requisição web, cada erro de banco de dados e cada aviso de sistema vira uma linha gravada em disco. Na prática, isso significa que grande parte do que é armazenado nunca será lido por um ser humano ou usado para depuração, gerando um desperdício massivo de recursos de infraestrutura e custos elevados de armazenamento.

Gerenciar essa torrente de dados exige ferramentas modernas que façam a triagem antes que o disco fique saturado. É nesse cenário que entra a necessidade de otimizar a rota dos dados, especialmente quando combinamos pipelines de coleta eficientes com bancos de dados orientados a índices leves como o Grafana Loki. Manter sistemas resilientes muitas vezes exige decisões duras sobre o que realmente vale a pena guardar, tal como discutimos quando avaliamos a estabilidade e a forma de ajustar os liveness probes em ambientes Kubernetes sob alta carga.

O papel do Vector na coleta e transformação de telemetria

O Vector é uma ferramenta leve e de altíssimo desempenho desenvolvida em Rust para coletar, transformar e direcionar logs, métricas e eventos. Diferente de coletores tradicionais mais pesados, ele consome pouca memória e CPU, mesmo processando centenas de milhares de eventos por segundo. Sua arquitetura modular permite encadear etapas de leitura, processamento e envio de forma limpa e previsível.

Na prática, o Vector funciona como um tradutor e fiscal de trânsito para os seus dados. Ele captura o log na origem — seja um arquivo de texto, um socket TCP ou uma API —, aplica regras complexas de modificação e entrega o resultado limpo para o destino final. Essa flexibilidade elimina a necessidade de alterar o código da aplicação apenas para mudar o formato em que os registros são salvos, centralizando a governança da telemetria.

Filtrando o ruído e descartando dados irrelevantes na origem

O primeiro passo para domar a volumetria de logs é eliminar o que não agrega valor operacional. Mensagens repetitivas de verificação de saúde, conhecidas como health checks, ou avisos triviais de bibliotecas de terceiros costumam representar mais de setenta por cento do volume total de texto gerado por um sistema. Guardar esse conteúdo é equivalente a pagar aluguel para armazenar lixo.

Com o Vector, podemos criar filtros baseados em expressões regulares ou condições lógicas para descartar esses eventos logo na entrada. Se um log possui um nível de severidade irrelevante ou corresponde a uma rota de monitoramento padrão, o pipeline simplesmente o descarta. Essa simples mudança reduz drasticamente a pressão sobre a rede e economiza gigabytes preciosos de armazenamento a cada dia.

Mascarando informações sensíveis para cumprir normas de privacidade

Além do volume, a presença acidental de dados sensíveis — como senhas em texto plano, números de cartões de crédito, tokens de acesso e CPFs — representa um risco crítico de segurança. Vazamentos em sistemas de logs costumam ocorrer justamente porque desenvolvedores deixam o modo de depuração ativo em produção, gravando informações confidenciais nos arquivos de texto.

O Vector resolve esse problema através de transformações de reescrita e mascaramento em tempo real. Podemos configurar regras para identificar padrões específicos, como uma sequência numérica de cartão, e substituí-la por asteriscos antes que o dado seja transmitido. Isso garante conformidade imediata com regulamentações como a LGPD e a GDPR sem comprometer a capacidade de rastrear erros operacionais.

Compactando fluxos e preparando os dados para o Grafana Loki

Depois que os logs foram filtrados e limpos, o fluxo resultante precisa ser empacotado de maneira eficiente para entrega. O Grafana Loki adota uma abordagem minimalista de indexação baseada apenas em rótulos, o que significa que o texto bruto do log precisa ser enviado estruturado para que as buscas sejam rápidas e baratas.

Abaixo temos um exemplo prático de configuração do Vector (em formato TOML) que lê logs de um arquivo, descarta requisições de health check, mascara dados de cartões de crédito e envia o resultado compactado para o Loki:

[sources.in_file]  type = "file"  include = ["/var/log/app/*.log"]

[transforms.filter_health]  type = "filter"  inputs = ["in_file"]  condition = '.message != "GET /healthz 200"'

[transforms.mask_sensitive]  type = "remap"  inputs = ["filter_health"]  source = '''    .message = replace(.message, r'\d{4}-\d{4}-\d{4}-\d{4}', "****-****-****-****")  '''

[sinks.to_loki]  type = "loki"  inputs = ["mask_sensitive"]  endpoint = "http://loki.internal:3100"  encoding.codec = "json"

Considerações finais sobre pipelines eficientes de observabilidade

Implementar uma estratégia sólida de filtragem e mascaramento com Vector e Loki transforma completamente a saúde financeira e operacional de uma infraestrutura moderna. Em vez de acumular dados cegamente e sofrer com custos imprevisíveis de armazenamento, a engenharia passa a controlar ativamente o que entra nos painéis de visualização. Essa disciplina não apenas melhora a performance das consultas, mas garante um ambiente muito mais seguro, limpo e preparado para escalar com previsibilidade.