Monitorando serviços REST com o Application Insights e Distributed Tracing
-
Upload
renato-groff -
Category
Software
-
view
168 -
download
0
Transcript of Monitorando serviços REST com o Application Insights e Distributed Tracing
![Page 1: Monitorando serviços REST com o Application Insights e Distributed Tracing](https://reader035.fdocuments.us/reader035/viewer/2022062523/58ee63a71a28abd3288b45ff/html5/thumbnails/1.jpg)
Globalcode – Open4education
Microservices
Renato GroffeMTAC | MCP | MCTS
Monitorando serviços REST com oApplication Insights e Distributed Tracing
![Page 2: Monitorando serviços REST com o Application Insights e Distributed Tracing](https://reader035.fdocuments.us/reader035/viewer/2022062523/58ee63a71a28abd3288b45ff/html5/thumbnails/2.jpg)
Globalcode – Open4education
Apresentação pessoal
Atuação na área de desenvolvimento de softwaredesde 2001
Autor Técnico / Palestrante (Canal .NET, TechNet, .NET Magazine, .NET Coders, GDG-SP,DotNet Baixada)
MTAC (Microsoft Technical Audience Contributor)
![Page 3: Monitorando serviços REST com o Application Insights e Distributed Tracing](https://reader035.fdocuments.us/reader035/viewer/2022062523/58ee63a71a28abd3288b45ff/html5/thumbnails/3.jpg)
Globalcode – Open4education
Contatos
Facebook:https://www.facebook.com/renatogroff
Site:http://renatogroffe.net/
Canal .NET:https://www.facebook.com/canaldotnet
LinkedIn:http://br.linkedin.com/in/renatogroffe
![Page 4: Monitorando serviços REST com o Application Insights e Distributed Tracing](https://reader035.fdocuments.us/reader035/viewer/2022062523/58ee63a71a28abd3288b45ff/html5/thumbnails/4.jpg)
Globalcode – Open4education
Agenda
Contexto atual
Monitorando serviços REST
Application Insights
Distributed Tracing
Exemplo prático
![Page 5: Monitorando serviços REST com o Application Insights e Distributed Tracing](https://reader035.fdocuments.us/reader035/viewer/2022062523/58ee63a71a28abd3288b45ff/html5/thumbnails/5.jpg)
Globalcode – Open4education
Contexto atual
![Page 6: Monitorando serviços REST com o Application Insights e Distributed Tracing](https://reader035.fdocuments.us/reader035/viewer/2022062523/58ee63a71a28abd3288b45ff/html5/thumbnails/6.jpg)
Globalcode – Open4education
Contexto atual
Escalabilidade, disponibilidade e performance
REST como principal estilo arquitetural
Microserviços ganhando força
Economia das APIs
![Page 7: Monitorando serviços REST com o Application Insights e Distributed Tracing](https://reader035.fdocuments.us/reader035/viewer/2022062523/58ee63a71a28abd3288b45ff/html5/thumbnails/7.jpg)
Globalcode – Open4education
Questões fundamentais
Modelagem
Cultura de automação
Estratégias de deployment
Segurança
Monitoramento
![Page 8: Monitorando serviços REST com o Application Insights e Distributed Tracing](https://reader035.fdocuments.us/reader035/viewer/2022062523/58ee63a71a28abd3288b45ff/html5/thumbnails/8.jpg)
Globalcode – Open4education
Monitorando serviços REST
![Page 9: Monitorando serviços REST com o Application Insights e Distributed Tracing](https://reader035.fdocuments.us/reader035/viewer/2022062523/58ee63a71a28abd3288b45ff/html5/thumbnails/9.jpg)
Globalcode – Open4education
Por que monitorar?
Garantir a operação do sistema
Detecção de falhas
Acompanhamento da performance
Determinar uso intensivo de funcionalidades
![Page 10: Monitorando serviços REST com o Application Insights e Distributed Tracing](https://reader035.fdocuments.us/reader035/viewer/2022062523/58ee63a71a28abd3288b45ff/html5/thumbnails/10.jpg)
Globalcode – Open4education
Como monitorar?
Estipulando métricas para análise
Implementando uma estratégia de log
Criando relatórios de acompanhamento
![Page 11: Monitorando serviços REST com o Application Insights e Distributed Tracing](https://reader035.fdocuments.us/reader035/viewer/2022062523/58ee63a71a28abd3288b45ff/html5/thumbnails/11.jpg)
Globalcode – Open4education
Surgem as dificuldades...
É costume relegar o monitoramento a um segundo plano
Logs bem elaborados exigem grandes esforços de codificação
![Page 12: Monitorando serviços REST com o Application Insights e Distributed Tracing](https://reader035.fdocuments.us/reader035/viewer/2022062523/58ee63a71a28abd3288b45ff/html5/thumbnails/12.jpg)
Globalcode – Open4education
Surgem as dificuldades...
Um único serviço pode possuir múltiplas instâncias
Host
Instância 1
Host
Instância 2
Host
Instância 3
Load Balancer
![Page 13: Monitorando serviços REST com o Application Insights e Distributed Tracing](https://reader035.fdocuments.us/reader035/viewer/2022062523/58ee63a71a28abd3288b45ff/html5/thumbnails/13.jpg)
Globalcode – Open4education
Surgem as dificuldades...
Múltiplos serviços envolvidos em uma mesma requisição
![Page 14: Monitorando serviços REST com o Application Insights e Distributed Tracing](https://reader035.fdocuments.us/reader035/viewer/2022062523/58ee63a71a28abd3288b45ff/html5/thumbnails/14.jpg)
Globalcode – Open4education
Como superar isto?
Telemetria → coleta automatizada de dados (métricas) para posterior análise
O Microsoft Azure oferece o Application Insights
Distributed Tracing → múltiplos serviços
Application Insights e Zipkin
![Page 15: Monitorando serviços REST com o Application Insights e Distributed Tracing](https://reader035.fdocuments.us/reader035/viewer/2022062523/58ee63a71a28abd3288b45ff/html5/thumbnails/15.jpg)
Globalcode – Open4education
Application Insights
![Page 16: Monitorando serviços REST com o Application Insights e Distributed Tracing](https://reader035.fdocuments.us/reader035/viewer/2022062523/58ee63a71a28abd3288b45ff/html5/thumbnails/16.jpg)
Globalcode – Open4education
O que é?
Serviço que integra o Microsoft Azure, estando voltado ao monitoramento de aplicações Web (sites e serviços)
![Page 17: Monitorando serviços REST com o Application Insights e Distributed Tracing](https://reader035.fdocuments.us/reader035/viewer/2022062523/58ee63a71a28abd3288b45ff/html5/thumbnails/17.jpg)
Globalcode – Open4education
O que é possível monitorar?
Algumas das métricas disponibilizadas por default:
Número de requisições
Tempos de resposta
Falhas
Eventos customizados
![Page 18: Monitorando serviços REST com o Application Insights e Distributed Tracing](https://reader035.fdocuments.us/reader035/viewer/2022062523/58ee63a71a28abd3288b45ff/html5/thumbnails/18.jpg)
Globalcode – Open4education
Como funciona?
Dados são coletados em uma aplicação e enviados a um repositório na nuvem
Dashboards no portal do Azure oferecem diferentes análises
![Page 19: Monitorando serviços REST com o Application Insights e Distributed Tracing](https://reader035.fdocuments.us/reader035/viewer/2022062523/58ee63a71a28abd3288b45ff/html5/thumbnails/19.jpg)
Globalcode – Open4education
Como funciona?
Integração com Excel e Power BI
![Page 20: Monitorando serviços REST com o Application Insights e Distributed Tracing](https://reader035.fdocuments.us/reader035/viewer/2022062523/58ee63a71a28abd3288b45ff/html5/thumbnails/20.jpg)
Globalcode – Open4education
Como funciona?Monitoramento em tempo real (Beta)
Aplicações on-premise ou na nuvem (mesmo fora do Azure) podem ser monitoradas
Detecção proativa → detecção e geração de avisos sobre problemas de performance (usando data mining + Machine Learning)
![Page 21: Monitorando serviços REST com o Application Insights e Distributed Tracing](https://reader035.fdocuments.us/reader035/viewer/2022062523/58ee63a71a28abd3288b45ff/html5/thumbnails/21.jpg)
Globalcode – Open4education
Como funciona?
Regras de alerta geram e-mails de notificação
![Page 22: Monitorando serviços REST com o Application Insights e Distributed Tracing](https://reader035.fdocuments.us/reader035/viewer/2022062523/58ee63a71a28abd3288b45ff/html5/thumbnails/22.jpg)
Globalcode – Open4education
Como funciona?
Requisitos para uso:
Uma conta de acesso ao Microsoft Azure
Uma Instrumentation Key
Um SDK disponibilizado pela própria Microsoft
![Page 23: Monitorando serviços REST com o Application Insights e Distributed Tracing](https://reader035.fdocuments.us/reader035/viewer/2022062523/58ee63a71a28abd3288b45ff/html5/thumbnails/23.jpg)
Globalcode – Open4education
Plataformas suportadas
![Page 24: Monitorando serviços REST com o Application Insights e Distributed Tracing](https://reader035.fdocuments.us/reader035/viewer/2022062523/58ee63a71a28abd3288b45ff/html5/thumbnails/24.jpg)
Globalcode – Open4education
Distributed Tracing
![Page 25: Monitorando serviços REST com o Application Insights e Distributed Tracing](https://reader035.fdocuments.us/reader035/viewer/2022062523/58ee63a71a28abd3288b45ff/html5/thumbnails/25.jpg)
Globalcode – Open4education
O que é?
Monitoramento envolvendo interações entre múltiplos serviços
Permite identificar toda a rota percorrida por uma requisição HTTP
Capacidade de determinar “gargalos”
Exemplos de soluções: Zipkin e Application Insights
![Page 26: Monitorando serviços REST com o Application Insights e Distributed Tracing](https://reader035.fdocuments.us/reader035/viewer/2022062523/58ee63a71a28abd3288b45ff/html5/thumbnails/26.jpg)
Globalcode – Open4education
Representação esquemática
![Page 27: Monitorando serviços REST com o Application Insights e Distributed Tracing](https://reader035.fdocuments.us/reader035/viewer/2022062523/58ee63a71a28abd3288b45ff/html5/thumbnails/27.jpg)
Globalcode – Open4education
ZipkinSolução open source desenvolvida pelo Twitter
Implementação de um projeto conhecido como Google Dapper
Monitoramento de requisições HTTP, SQL e até Redis
Gráficos mapeando dependências
Fluxo apresentado sob a forma de timelines
![Page 28: Monitorando serviços REST com o Application Insights e Distributed Tracing](https://reader035.fdocuments.us/reader035/viewer/2022062523/58ee63a71a28abd3288b45ff/html5/thumbnails/28.jpg)
Globalcode – Open4education
Zipkin
![Page 29: Monitorando serviços REST com o Application Insights e Distributed Tracing](https://reader035.fdocuments.us/reader035/viewer/2022062523/58ee63a71a28abd3288b45ff/html5/thumbnails/29.jpg)
Globalcode – Open4education
Zipkin
![Page 30: Monitorando serviços REST com o Application Insights e Distributed Tracing](https://reader035.fdocuments.us/reader035/viewer/2022062523/58ee63a71a28abd3288b45ff/html5/thumbnails/30.jpg)
Globalcode – Open4education
Application Insights
Também há o suporte a tracing distribuído
Application Insights + TrackDependency API
Application Insights + Azure Cloud Services
![Page 31: Monitorando serviços REST com o Application Insights e Distributed Tracing](https://reader035.fdocuments.us/reader035/viewer/2022062523/58ee63a71a28abd3288b45ff/html5/thumbnails/31.jpg)
Globalcode – Open4education
Application Insights
![Page 32: Monitorando serviços REST com o Application Insights e Distributed Tracing](https://reader035.fdocuments.us/reader035/viewer/2022062523/58ee63a71a28abd3288b45ff/html5/thumbnails/32.jpg)
Globalcode – Open4education
Exemplo prático
Application Insights + ASP.NET Web API
![Page 33: Monitorando serviços REST com o Application Insights e Distributed Tracing](https://reader035.fdocuments.us/reader035/viewer/2022062523/58ee63a71a28abd3288b45ff/html5/thumbnails/33.jpg)
Globalcode – Open4education
Dúvidas?
![Page 34: Monitorando serviços REST com o Application Insights e Distributed Tracing](https://reader035.fdocuments.us/reader035/viewer/2022062523/58ee63a71a28abd3288b45ff/html5/thumbnails/34.jpg)
Globalcode – Open4education
Referências
Application Insights:https://azure.microsoft.com/pt-br/services/application-insights/
Zipkin:https://github.com/openzipkin/zipkin
![Page 35: Monitorando serviços REST com o Application Insights e Distributed Tracing](https://reader035.fdocuments.us/reader035/viewer/2022062523/58ee63a71a28abd3288b45ff/html5/thumbnails/35.jpg)
Globalcode – Open4education
Obrigado!!!