Como você monitora logs em seus diferentes níveis?
Tags: logs, monitoring, webdev
Published: 2022-06-07 12:32:42

Essa é uma tarefa rotineira para devs, que passam boa parte do tempo analisando problemas de execução de software.

Porém, na maioria das vezes, as informações que vêm dos relatos dos chamados oferecem apenas uma visão mais externa das aplicações, o que muitas vezes torna mais difícil a sua reprodução.

Esse cenário provoca alguma apreensão ao chegar ao suporte. Mas não precisa ser assim.

Ferramentas e boas práticas que nos ajudam a diagnosticar, reproduzir e observar os componentes internos de um sistema em execução devem fazer parte do dia a dia das equipes de desenvolvimento. 

Os times de devs precisam ter instrumentos que permitam analisar acontecimentos de forma clara e abrangente.

Inclusive, antes mesmo que os clientes percebam a falha e reportem nos canais de atendimento.

É sobre isso que falo neste conteúdo.

Acompanhe até o final para saber mais sobre logs, seus níveis, como monitorar e que ferramentas usar nessa tarefa.

Logs: o que são em tecnologia?
Logs são arquivos em formato de texto que registram todos os eventos relevantes em um sistema ou aplicativo.

São como a caixa preta de um software e, justamente por isso, precisam de monitoramento.

Existem muitas ferramentas a utilizar para a análise de logs ou correlacionamento de logs de infraestrutura e aplicação ou algum evento externo relacionado a uma determinada função. 

Elas nos ajudam no dia a dia na identificação de problemas de maneira rápida e eficiente.

Assim, garantem uma maior agilidade na correção dos problemas encontrados em nossos aplicativos e facilitando a geração de insights. 

Como nosso dia a dia é focado no desenvolvimento de novas aplicações e ações de melhoria de desempenho em nosso software, o uso de uma ferramenta de controle de erros é fundamental e facilita bastante o nosso trabalho.

Para quem está começando no desenvolvimento web, aprender sobre esses softwares de análise é uma excelente ideia.

Então, coloque no seu cronograma de estudos como organizar o dia a dia da pessoa desenvolvedora, assistindo ao [vídeo Parte 1](https://youtu.be/I5LoPXa4Vh8):

Para assistir à [parte 2 do vídeo](https://www.youtube.com/watch?v=vUmjGIMfAn0).

Como monitorar logs?
Além da integração com nossas aplicações, a maioria dessas ferramentas de análise possui um grande número de plugins para monitorar também outros programas, apps, etc.

Nada disso trará bons resultados se nós não planejarmos o nosso desenvolvimento de forma adequada. 

Por isso, é importante inserirmos os logs nos trechos onde exatamente queremos obter os detalhes da operação.

Não menos importante é que as mensagens de logs sejam claras, explícitas e, se possível, tenham algum identificador.

Inclusive, algumas ferramentas permitem a criação de tags.

A dica aqui é clara: use todos os recursos ao seu alcance para tornar a rotina mais fácil.

Conheça os níveis de logs 
Também é preciso aprender e saber usar os diferentes níveis de logs.

Afinal, eles serão usados para que possamos aplicar filtros nas ferramentas utilizadas para o monitoramento

Os níveis de logs mais usados são:

Error
Este log indica que algo errado aconteceu e precisa de atenção imediatamente. 

Esses tipos de erros podem ser “esperados” pelo processo onde houve o registro.

Mesmo assim, demandam a atuação da equipe de devs para entender o que exatamente ocorreu. 

Inclusive, alguns casos podem não ser tolerados pelos sistemas.

Fatal
Este é um erro não tolerável pelo processo onde o registro ocorreu. 

Nesses casos, os processos podem ser terminados automaticamente devido ao nível de erro.

Normalmente, os alertas são gerados automaticamente logo após o término.

Warn
Usamos esse nível de log para informar que ocorreram falhas, mas, apesar delas, os processos e fluxos continuaram.

Info
Neste log, estão informações pertinentes ao negócio e de fluxo que importam no monitoramento.

Debug
Alerta para o ambiente de desenvolvimento. 

Esses logs são usados em situações nas quais você precisa de informações muito detalhadas de um processo ou fluxo. 

No entanto, devem ser controlados de perto, já que logs de debug são muito verbosos (são mais longos para expressar a intenção do código de forma correta) e podem atrapalhar o monitoramento.

Atenção ainda ao que chamamos de efeitos colaterais.

É preciso evitá-los, pois podem gerar exceções que tornariam as aplicações mais lentas e com logs pouco confiáveis

Nesse caso, a investigação de um problema ficaria ainda mais complicada. 

Então, inclua no log apenas as mensagens de resultado esperado para a operação. 

Quais ferramentas usar para monitorar logs?
Como comentei antes, as ferramentas são ótimas aliadas para o trabalho de devs.

Na internet, existem muitos exemplos de uso para as ferramentas que relaciono abaixo.

Saiba mais sobre alternativas com versões gratuitas, com teste gratuitos e também pagas para serem usadas no monitoramento de aplicações:

Possuem versões gratuitas: 

New Relic One 
WhatsUp Gold.
Possuem versões de teste gratuitas: 

AppDynamics
Papertrail
Datadog
ManageEngine Application Manager
Pandora FMS
Traverse
ServicePilot
Splunk Enterprise
Site24x7
Raygun.
Possuem apenas versões pagas:

Pulseway
Germain APM
Sematex Cloud.
O que achou da lista? 

Espero que este conteúdo seja útil para o seu dia a dia ao monitorar logs!