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.

TDC2016POA | Trilha Cloud Computing - Monitorando aplicações distribuidas em Cloud com SoundCloud Prometheus

131 visualizações

Publicada em

Monitorando aplicações distribuidas em Cloud com SoundCloud Prometheus

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

  • Seja a primeira pessoa a gostar disto

TDC2016POA | Trilha Cloud Computing - Monitorando aplicações distribuidas em Cloud com SoundCloud Prometheus

  1. 1. Monitorando aplicações distribuídas em Cloud com SoundCloud Prometheus Edilson Azevedo edilson.azevedo@ilegra.com
  2. 2. Métodos Tradicionais de Monitoramento   Clients (SNMP?)  Alertas (expressões)  Mais alertas (alertas ou dados estatísticos?)  E mais alertas… (NOC)
  3. 3.  Vários alvos...  - Um host/cluster pode rodar múltiplos containers   Que mudam constantemente  - Deploys, auto scaling, substituir containers, etc...   Analisar grande quantidade de informações  - Múltiplos sources   Fácil de identificar problemas e fazer troubleshooting  - Qual instance/container/versão/endpoint causou esses erros?!   Produzir alertas que façam sentido  - Se 300 containers de 1.000 caíram, e o usuário não sentiu, não existe alerta. {User experience} Necessidades Modernas de Monitoramento - Desafios
  4. 4. Monitoramento - Abrangência Monitorar tudo, em todas as camadas, com o mesmo sistema Nível O que monitorar (exemplos) Rede Routers, Switches Host (OS, hardware) Falha de hardware, recursos Containers Utilização de recursos, performance, estatísticas Aplicação Latência, erros, estados internos Orquestração Clusters, nós, scheduling, auto scaling
  5. 5. Arquiteturas Modernas - Aplicações Monolíticas x Microservices
  6. 6. Arquiteturas Modernas - Escalation - Como monitorar?!?
  7. 7. Monitoramento - O que realmente importa?
  8. 8. Prometheus!   Sistema que não fosse preso á arquiteturas  Opensource  Sem dependências de pacotes externos  Operação / Configuração simples  Métricas com dimensões baseadas em “Labels”  Independente (banco de dados, alertas, interface)
  9. 9. Prometheus Data Model - Time Series
  10. 10. Prometheus Features - Modelo de dados Multidimensional
  11. 11. Prometheus Features - Conceito time series http_requests_total{instance=”web-1”, path=”/index”, status=”401”, method=”GET”} Métrica Label path status method http_requests_total{instance=”web-2”, path=”/index”, status=”404”, method=”POST”} http_requests_total{instance=”web-3”, path=”/index”, status=”200”, method=”GET”} http_requests_total{instance=”web-4”, path=”/index”, status=”401”, method=”GET”}
  12. 12. Prometheus Features - Query Language Prometheus: avg by(city) (temperature_celsius{country=”Brazil”}) SQL: SELECT city, AVG(value) FROM temperature_celsius WHERE country=”Brazil” GROUP BY city Prometheus: rate(api_http_requests_total[5m]) SQL: SELECT job, instance, method, status, path, rate(value, 5m) FROM api_http_requests_total Prometheus: errors{job=”deploy”} / total{job=”deploy”} SQL: SELECT errors.job, erros.instances, [mais labels…], erros.value / total.value FROM errors.total WHERE errors.job=”deploy” AND total.job=”deploy” JOIN [muito mais coisas….]
  13. 13. Prometheus Features - Alerting Disk Full Alert - Nagios
  14. 14. Prometheus Features - Alerting Disk Full Alert baseado em Time Series - Prometheus
  15. 15. Prometheus Features - Instrumentação from prometheus_client import start_http_server, Histogram # Create a metric to track time spent and requests made. REQUEST_TIME = Histogram('request_processing_seconds', 'Time spent processing request') # Decorate function with metric. @REQUEST_TIME.time() def process_request(t): # do work … return start_http_server(8000)
  16. 16. Prometheus Features - Instrumentação
  17. 17. Prometheus - Cloud Monitoring - Dev/Test  ECS  Consul  Prometheus
  18. 18. Prometheus - Demonstração
  19. 19. Prometheus - Não serve / não faz  Armazenamento de logs  Autoscaling automático  Autenticação de usuários  Ações pró ativas
  20. 20. Prometheus Dúvidas?

×