Coder Social home page Coder Social logo

joaoduarte10 / nodejs-opentelemetry-grafana Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 393 KB

Projeto demonstrando como fazer a observabilidade de uma aplicação NodeJs utilizando Loki, Tempo, Grafana e Opentelemetry.

Dockerfile 2.48% TypeScript 97.52%

nodejs-opentelemetry-grafana's Introduction

Observabilidade com Grafana e Opentelemetry para NodeJs

Esse projeto demonstra como fazer a observabilidade de uma aplicação Node utilizando as seguintes tecnologias:

Por que essa stack?

Há várias opções de tecnologias para fazer a observabilidade de nossas aplicações, mas nem todas são simples e baratas de manter. Stacks como ELK são excelentes alternativas para escolher, porém são tecnologias caras e que consomem muitos recursos computacionais.

E além de ter várias opções para essa escolha, como podemos fazer para correlacionar nossos logs e métricas? Precisamos ir de uma plataforma à outra para poder fazer o troubleshooting.

Por isso essa stack foi escolhida!

Com o Grafana Loki e Grafana Tempo é possível correlacionar os logs e traces dentro do Grafana e, com isso, maximizando a produtividade no momento de análise de logs/traces. Além de ser ferramentas simples de serem utilizadas, leves e baratas, prontas para ambientes produtivos de alto escalonamento.

Como o fluxo é feito

A aplicação em NodeJs utiliza as libs do Opentelemetry para instrumentar todos os traces, enviando para o Grafana Tempo.

Os logs são enviados diretamente para o Grafana Loki.

O grafana se conecta com as bases de dados do Loki e do Tempo para consumir os dados e criar as visualizações. Todos os logs e traces estão correlacionados, sendo assim podemos transitar entre a visualização dos logs e dos traces.

Inicializando a aplicação

docker compose up -d

A aplicação NodeJs inicializará na porta 5000

Acesse a seguinte rota: http://localhost:5000/hello

Visualize os logs no grafana no painel explore:

Visualize o rastreamento no grafana expandindo a linha de código e clicando no link para o Tempo:

Referências

nodejs-opentelemetry-grafana's People

Contributors

joaoduarte10 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.