Executando verificação de segurança...
8

[Dicas/Conselhos] Observalidade - Open Source

Pessoal, estou desenvolvendo uma API para Emissão de Notas Fiscais do meu sistema.

A API está sendo desenvolvida com Node.js e Next.js, banco de dados postgresql para o banco e mongodb para os logs.

Eu fiz um post anterior pedindo dicas a respeito de logs. Em um dos comentários me falaram do termo OBSERVALIDADE. Eu não conhecia nada a respeito e continua sendo algo que eu ainda não entendo muito do assunto, por isto recorro mais uma vez a comunidade do TabNews que tem me dado boas dicas e muito conhecimento.

Na minha pesquisa, encontrei estas soluções de Observalidade:

  • Datadog;
  • Dynatrace;
  • Elastic;
  • Prometheus;
  • Grafana;

Eu não sei o que preciso monitorar, observar ou analisar. Tenho aprendido um pouco de linux e instalação de ferramentas open-source em containers, mas fora isto sou um pequeno garfanhoto ainda.

Então, eu pergunto a vocês mestres jedi´s do TabNews:

1. O que preciso monitorar, observar e analisar? Recursos da máquina como RAM, Processamento, Conexão, Disco, Outros...

2. Qual ou quais ferramentas open-source auto-hospedadas me recomendam utilizar para eu instalar em uma VPS Hostinger e quais configurações mínimas preciso ter?

3. Tem alguma dica de material para estudo? Tenho conta na dio.me, há algum curso lá que eu devo ver? Algum video do youtube ou curso da Udemy? Observação: isto tudo além da documentação da ferramenta é claro.

Carregando publicação patrocinada...
5

New Relic

É a ferramenta que mais gosto e utilizo em projetos pequenos. Se gerar menos de 100GB de dados por mês é 100% gratuito.

Datadog

Caro demais, sempre tem alternativas melhores, plano free extremamente limitado

Dynatrace

Funciona muito bem para Java. Nunca testei com outra stack pois acho seu preço elevado.

Elastic

INFERNO de configurar. Ou paga o serviço gerenciado por eles ou gastará horas e horas mantendo ele.

Fora isso a ferramenta é incrível.

Prometheus e Grafana

Se você quer ter controle e não se preocupar com preço iria com eles. Subiria num servidor meu e manteria.

Repondendo as perguntas

O que preciso monitorar, observar e analisar?

Server:

  • CPU
  • RAM
  • Uso de disco

Aplicação:

  • taxa de erros e que erros são
  • Logs de erros com o máximo de contexto possível (variáveis que fizeram dar erro).
  • Browser (RUM): Web Vitals e erros de Javascript

Gosto de deixar sempre o mínimo de logs ligados possível.

Qual ou quais ferramentas open-source auto-hospedadas me recomendam utilizar

Hoje está muito em alta o Grafana. Tem que ler na documentação todos os workers que você precisa e os recursos que cada um utiliza.

quais configurações mínimas preciso ter?

Depende da quantidade de dados que você produz. A sugestão é testar se os workers aguentam.

Tem alguma dica de material para estudo?

Sempre usei essas ferramentas só pela documentação, é relativamente simples.

  • Precisa instalar
  • Injetar o agente na sua aplicação (geralmente uma extensão no SO ou um programa instalado)
  • configurar o monitoramento de logs (mas geral nem precisa de configuração)
1

Super didático a sua explicação.
Eu vou procurar saber mais a respeito do Grafana e também do Prometheus, parece que os dois se integram.
A ideia é subir no meu servidor e não contratar os serviços deles.
Até onde eu puder levar com ferramentas auto-hospedadas e open source, irei.

Muito obrigado.

2
1
1

Cara esse é um topico importante mas não e algo que a sua aplicação não pode ir para produção sem ter.

Adicione uns logs em fluxos que você entende que são mais críticos e garanta que eles são o suficiente para que em caso de algum problema eles consigam de ajudar no debugg.

Depois disso, se o seu produto cresce e esse sistema se torna crítico vc avança para esses temas de métricas e monitorias.

Existe esse vídeo muito bom que resume esse tópico -> https://www.youtube.com/live/bSU_O9JAibs?si=KdUDERY9tRKQYZTW

1