O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.
Coleta, armazenamento e visualização de
métricas em uma arquitetura de
microserviços na cloud
Rafael Souza
@rafael_psouza
○ Engenheiro de Computação
○ Engenheiro de Software
○ Arquitetura de Software, SOA, Microservices, APIs…
○ Contexto do Projeto
○ Problema
○ Overview
○ Instrumentação
○ Coleta
○ Armazenamento
○ Visualização e Alertas
Agenda
Contexto do Projeto
Tecnologias
Times por Serviço/Plataforma
Stability and Performance
Engineering
○ Testes de Performance
○ Engenharia de Caos
○ Performance tuning/troubleshooting
○ ...
O Problema
Debug
Como definir a causa raiz dos problemas?
○ Como está a saúde dos serviços/componentes?
○ Quais são as características de performance
○ Validar suposições e torná-l...
Confiabilidade e eficiência
○ Até onde o sistema é confiável?
○ Existe um bom uso de recursos computacionais?
Os nossos problemas
○ Responsabilidade “sem dono”
○ Monitoramento ineficiente (não confiável)
○ Pouca visibilidade dos ser...
Observability / Telemetry
Exposição e Coleta
Visualização e
Query
Armazenamento
TracingAlertas Logs
Componentes comuns
Instrumentação
○ Tornar métricas visíveis
○ O que expor
○ Como expor
○ Gauges and Counters
Servo
Outras opções no mundo Java
○ Dropwizard metrics
○ Spring Boot Actuator
Infraestrutura e SO
○ Push x Coleta
○ Collectd
○ Sensu checks
Coleta de Métricas
Collectd
○ Open Source
○ Escrito em C (performance)
○ Modular e Portável
○ Código sofisticado para Network
Collectd: Arquitetura
Collectd: 128 plugins catalogados
Sensu: ~160 plugins + Nagios
Armazenamento de Métricas
○ Identificador
○ Tipo
○ Valor
○ Quando? (timestamp)
O que é uma métrica?
Sensu
Elasticsearch
○ Não é uma boa ideia
○ Martelo?
○ SEARCH
TSDB
“A time series database (TSDB) is a software system
that is optimized for handling time series data”
○ Indexado por tempo
○ Queries
○ Operações matemáticas
○ Dynamic thresholds
TSDB: Vantagens
○ InfluxDB
○ OpenTSDB
○ Graphite (Whisper)
○ RIAK TS
○ DalmatinerDB
○ ...
TSDB: Opções
Visualização e Alertas
○ Correlacionar métricas - Informação
○ Métricas multiníveis
○ Relacionar dashboards e alertas
Visualização
○ Static Thresholds
○ Dynamic Thresholds
○ Detecção de anomalias
Alertas
○ Prometheus
○ Graphana
○ Riemann
○ InfluxData
Opções
Aprendizados Importantes
Obrigado!
Coleta, armazenamento e visualização de
métricas em uma arquitetura de
microserviços na cloud
Rafael Souza
@rafael_psouza
...
TDC2016POA | Trilha Arquitetura - Coleta, armazenamento e visualização de métricas (Observability) em uma arquitetura de m...
TDC2016POA | Trilha Arquitetura - Coleta, armazenamento e visualização de métricas (Observability) em uma arquitetura de m...
TDC2016POA | Trilha Arquitetura - Coleta, armazenamento e visualização de métricas (Observability) em uma arquitetura de m...
TDC2016POA | Trilha Arquitetura - Coleta, armazenamento e visualização de métricas (Observability) em uma arquitetura de m...
TDC2016POA | Trilha Arquitetura - Coleta, armazenamento e visualização de métricas (Observability) em uma arquitetura de m...
TDC2016POA | Trilha Arquitetura - Coleta, armazenamento e visualização de métricas (Observability) em uma arquitetura de m...
TDC2016POA | Trilha Arquitetura - Coleta, armazenamento e visualização de métricas (Observability) em uma arquitetura de m...
TDC2016POA | Trilha Arquitetura - Coleta, armazenamento e visualização de métricas (Observability) em uma arquitetura de m...
Próximos SlideShares
Carregando em…5
×

TDC2016POA | Trilha Arquitetura - Coleta, armazenamento e visualização de métricas (Observability) em uma arquitetura de microserviços na cloud.

176 visualizações

Publicada em

Coleta, armazenamento e visualização de métricas (Observability) em uma arquitetura de microserviços na cloud.

Publicada em: Educação
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

TDC2016POA | Trilha Arquitetura - Coleta, armazenamento e visualização de métricas (Observability) em uma arquitetura de microserviços na cloud.

  1. 1. Coleta, armazenamento e visualização de métricas em uma arquitetura de microserviços na cloud Rafael Souza @rafael_psouza
  2. 2. ○ Engenheiro de Computação ○ Engenheiro de Software ○ Arquitetura de Software, SOA, Microservices, APIs…
  3. 3. ○ Contexto do Projeto ○ Problema ○ Overview ○ Instrumentação ○ Coleta ○ Armazenamento ○ Visualização e Alertas Agenda
  4. 4. Contexto do Projeto
  5. 5. Tecnologias
  6. 6. Times por Serviço/Plataforma
  7. 7. Stability and Performance Engineering ○ Testes de Performance ○ Engenharia de Caos ○ Performance tuning/troubleshooting ○ Definir/Manter componentes de telemetria
  8. 8. O Problema
  9. 9. Debug Como definir a causa raiz dos problemas?
  10. 10. ○ Como está a saúde dos serviços/componentes? ○ Quais são as características de performance ○ Validar suposições e torná-las explícitas Visibilidade de saúde e performance
  11. 11. Confiabilidade e eficiência ○ Até onde o sistema é confiável? ○ Existe um bom uso de recursos computacionais?
  12. 12. Os nossos problemas ○ Responsabilidade “sem dono” ○ Monitoramento ineficiente (não confiável) ○ Pouca visibilidade dos serviços ○ Pouca visibilidade dos componentes de infra ○ Criar confidence score (Canary Release)
  13. 13. Observability / Telemetry
  14. 14. Exposição e Coleta Visualização e Query Armazenamento TracingAlertas Logs Componentes comuns
  15. 15. Instrumentação ○ Tornar métricas visíveis ○ O que expor ○ Como expor ○ Gauges and Counters
  16. 16. Servo
  17. 17. Outras opções no mundo Java ○ Dropwizard metrics ○ Spring Boot Actuator
  18. 18. Infraestrutura e SO
  19. 19. ○ Push x Coleta ○ Collectd ○ Sensu checks Coleta de Métricas
  20. 20. Collectd ○ Open Source ○ Escrito em C (performance) ○ Modular e Portável ○ Código sofisticado para Network
  21. 21. Collectd: Arquitetura
  22. 22. Collectd: 128 plugins catalogados
  23. 23. Sensu: ~160 plugins + Nagios
  24. 24. Armazenamento de Métricas
  25. 25. ○ Identificador ○ Tipo ○ Valor ○ Quando? (timestamp) O que é uma métrica?
  26. 26. Sensu
  27. 27. Elasticsearch ○ Não é uma boa ideia ○ Martelo? ○ SEARCH
  28. 28. TSDB “A time series database (TSDB) is a software system that is optimized for handling time series data”
  29. 29. ○ Indexado por tempo ○ Queries ○ Operações matemáticas ○ Dynamic thresholds TSDB: Vantagens
  30. 30. ○ InfluxDB ○ OpenTSDB ○ Graphite (Whisper) ○ RIAK TS ○ DalmatinerDB ○ ... TSDB: Opções
  31. 31. Visualização e Alertas
  32. 32. ○ Correlacionar métricas - Informação ○ Métricas multiníveis ○ Relacionar dashboards e alertas Visualização
  33. 33. ○ Static Thresholds ○ Dynamic Thresholds ○ Detecção de anomalias Alertas
  34. 34. ○ Prometheus ○ Graphana ○ Riemann ○ InfluxData Opções
  35. 35. Aprendizados Importantes
  36. 36. Obrigado!
  37. 37. Coleta, armazenamento e visualização de métricas em uma arquitetura de microserviços na cloud Rafael Souza @rafael_psouza http://rafaelsouza.eng.br

×