Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
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
...
Coleta, armazenamento e visualização de métricas em uma arquitetura de microserviços na cloud
Coleta, armazenamento e visualização de métricas em uma arquitetura de microserviços na cloud
Coleta, armazenamento e visualização de métricas em uma arquitetura de microserviços na cloud
Coleta, armazenamento e visualização de métricas em uma arquitetura de microserviços na cloud
Coleta, armazenamento e visualização de métricas em uma arquitetura de microserviços na cloud
Coleta, armazenamento e visualização de métricas em uma arquitetura de microserviços na cloud
Coleta, armazenamento e visualização de métricas em uma arquitetura de microserviços na cloud
Coleta, armazenamento e visualização de métricas em uma arquitetura de microserviços na cloud
Upcoming SlideShare
Loading in …5
×

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

123 views

Published on

Apresentação realizada no TDC Porto Alegre - 2016

O monitoramento e a visibilidade da saúde e performance de componentes em uma arquitetura de microserviços é fundamental para determinar, de uma forma rápida, a causa raiz de possíveis problemas além de fornecer insights para melhorias de eficiência. Nessa apresentação vou contar um pouco do meu último ano trabalhando, para um cliente do Vale do Silício, com instrumentação, coleta, armazenamento e visualização de métricas (Observability) em uma arquitetura de microserviços na cloud. Além dos principais problemas e soluções encontradas vou abordar os seguintes tópicos: a arquitetura para instrumentação, coleta, armazenamento e visualização de métricas; Collectd; Sensu e SignaFx.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Coleta, armazenamento e visualização de métricas 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

×