O Que É Log Aggregation? Logging Centralizado Explicado
Log aggregation é a prática de coletar logs de muitas fontes em um único sistema centralizado e pesquisável, em vez de deixá-los espalhados em máquinas individuais.
Em qualquer sistema não trivial, os logs são produzidos em muitos lugares ao mesmo tempo: entre serviços, containers e máquinas efêmeras que desaparecem quando seu trabalho termina. Log aggregation reúne tudo isso em um só lugar para que você possa pesquisar em todo o sistema, e para que os logs sobrevivam depois que a máquina que os escreveu se for.
O problema dos logs espalhados
Quando os logs vivem apenas na máquina que os produziu, investigar um problema significa acessar muitos hosts e correlacionar à mão, e os logs desaparecem quando uma instância efêmera é encerrada. Para infraestrutura moderna, distribuída e de vida curta, logs apenas locais são efetivamente inutilizáveis.
Como a agregação funciona
- Coleta: agents ou shippers leem os logs de cada fonte à medida que são escritos.
- Transporte: os logs são enviados pela rede para um pipeline central.
- Processamento: as entradas são parseadas, estruturadas e enriquecidas no caminho de entrada.
- Armazenamento e busca: os logs são indexados em um backend que você pode consultar em todas as fontes de uma só vez.
Pesquisando em todo o sistema
O propósito da centralização é fazer uma pergunta e obter uma resposta abrangendo tudo: todo erro de um determinado release, todo log carregando um request ID, a taxa de erros em toda uma frota. Essa busca transversal é impossível quando os logs estão isolados por máquina.
Log aggregation em CI/CD
Os runners de CI são tipicamente efêmeros; uma vez que um job termina, a máquina e seus logs locais se vão. Enviar os build logs para um agregador os preserva e permite pesquisar ao longo das execuções, comparando um build que falha com sucessos passados ou contando quantas vezes um erro específico aparece em todo o histórico do pipeline.
Stacks comuns
Stacks de agregação bem conhecidos incluem o ELK ou Elastic stack, Grafana Loki e os recursos de logging gerenciado de fornecedores como Datadog e Splunk. Eles diferem no modelo de custo e na estratégia de indexação, mas todos resolvem o mesmo problema central: um lar pesquisável para logs de toda parte.
Principais conclusões
- Log aggregation centraliza logs de muitas fontes para pesquisa.
- Preserva logs de máquinas efêmeras depois que elas se vão.
- Habilita consultas entre sistemas impossíveis com logs isolados.
- Em CI/CD, mantém os logs de runners efêmeros pesquisáveis ao longo das execuções.