View on GitHub

manual-da-engenharia-para-codar

Este é o manual para compromissos de "código com" a engenharia.

Registro

Visão Geral

Logs são eventos discretos com o objetivo de ajudar os engenheiros a identificar área(s) de problemas durante falhas.

Métodos de Coleta

Quando se trata de métodos de coleta de logs, duas das técnicas padrão são escrita direta ou uma abordagem baseada em agente.

Eventos de log escritos diretamente são tratados no processo do componente específico, geralmente utilizando uma biblioteca fornecida. O Azure Monitor tem capacidades de envio direto, mas não é recomendado para uso sério/produção. Essa abordagem tem algumas vantagens:

As potenciais compensações dessa abordagem são:

A coleta de logs baseada em agente depende de um processo externo em execução na máquina host, com o componente específico emitindo dados de log para stdout ou arquivo. A gravação de dados de log em stdout é a prática preferida ao executar aplicativos em um ambiente de contêiner, como o Kubernetes. O tempo de execução do contêiner redireciona a saída para arquivos, que podem ser processados por um agente. Azure Monitor, Grafana Loki Logstash da Elastic e Fluent Bit são exemplos de agentes de envio de logs.

Existem várias vantagens ao usar um agente para coletar e enviar arquivos de log:

Essa abordagem não é isenta de compensações:

Melhores Práticas

Se há dados de log suficientes, há necessidade de instrumentação de métricas?

Logs vs Métricas vs Rastreamentos aborda algumas orientações de alto nível sobre quando utilizar dados métricos e quando utilizar dados de log. Ambos desempenham um papel valioso na criação de sistemas observáveis.

Tem dificuldade em identificar o que registrar?

No início da aplicação:

Por solicitação recebida:

Por solicitação enviada: