Top Banner
Coleta, armazenamento e visualização de métricas em uma arquitetura de microserviços na cloud Rafael Souza @rafael_psouza
45

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

Apr 15, 2017

Download

Education

tdc-globalcode
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: TDC2016POA | Trilha Arquitetura - Coleta, armazenamento e visualização de métricas (Observability) em uma arquitetura de microserviços na cloud.

Coleta, armazenamento e visualização de métricas em uma arquitetura de

microserviços na cloud Rafael Souza

@rafael_psouza

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

○ Engenheiro de Computação○ Engenheiro de Software○ Arquitetura de Software, SOA, Microservices, APIs…

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

○ Contexto do Projeto○ Problema○ Overview○ Instrumentação ○ Coleta○ Armazenamento○ Visualização e Alertas

Agenda

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

Contexto do Projeto

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

Tecnologias

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

Times por Serviço/Plataforma

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

Stability and Performance Engineering

○ Testes de Performance○ Engenharia de Caos○ Performance tuning/troubleshooting○ Definir/Manter componentes de telemetria

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

O Problema

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

Debug

Como definir a causa raiz dos problemas?

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

○ 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

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

Confiabilidade e eficiência

○ Até onde o sistema é confiável?○ Existe um bom uso de recursos computacionais?

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

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)

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

Observability / Telemetry

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

Exposição e Coleta Visualização e QueryArmazenamento

TracingAlertas Logs

Componentes comuns

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

Instrumentação

○ Tornar métricas visíveis○ O que expor○ Como expor○ Gauges and Counters

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

Servo

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

Outras opções no mundo Java

○ Dropwizard metrics○ Spring Boot Actuator

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

Infraestrutura e SO

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

○ Push x Coleta○ Collectd○ Sensu checks

Coleta de Métricas

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

Collectd

○ Open Source○ Escrito em C (performance)○ Modular e Portável○ Código sofisticado para Network

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

Collectd: Arquitetura

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

Collectd: 128 plugins catalogados

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

Sensu: ~160 plugins + Nagios

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

Armazenamento de Métricas

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

○ Identificador○ Tipo○ Valor○ Quando? (timestamp)

O que é uma métrica?

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

Sensu

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

Elasticsearch

○ Não é uma boa ideia○ Martelo?○ SEARCH

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

TSDB

“A time series database (TSDB) is a software system that is optimized for handling time series data”

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

○ Indexado por tempo○ Queries○ Operações matemáticas○ Dynamic thresholds

TSDB: Vantagens

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

○ InfluxDB○ OpenTSDB○ Graphite (Whisper)○ RIAK TS○ DalmatinerDB○ ...

TSDB: Opções

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

Visualização e Alertas

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

○ Correlacionar métricas - Informação○ Métricas multiníveis○ Relacionar dashboards e alertas

Visualização

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

○ Static Thresholds○ Dynamic Thresholds○ Detecção de anomalias

Alertas

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

○ Prometheus○ Graphana○ Riemann○ InfluxData

Opções

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

Aprendizados Importantes

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

Obrigado!

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

Coleta, armazenamento e visualização de métricas em uma arquitetura de

microserviços na cloudRafael Souza

@rafael_psouzahttp://rafaelsouza.eng.br