Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Monitoring @ ContaAzul

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers. →

Monitoring @ ContaAzul

I spoke about our migration to Prometheus and how it is working for us.

Carlos Alexandro Becker

November 25, 2017

Transcript

48 slides
  1. Arquitetura antiga - Crontabs - .sh espalhados por aí -

    v1 - zabbix - nagios - v2 - collectd - statsd - Librato - email - v3 - Librato - VictorOps - Slack
  2. Problemas - Librato: 1m - Cron: 1m - Em menos

    de 1m atendimento já recebia ligações dos usuários - Librato nos alertava depois de 5m+ - Falta de padrões (nomenclatura e etc) - Alertas criados (ou não) manualmente para cada serviço - Shells aleatórios espalhados aleatoriamente em lugares aleatórios - Queries esquecidas - Muitos falsos positivos - Não tinha prioridade, todos os alertas eram critical
  3. Prometheus - Criado originalmente na Soundcloud, vários ex-Google contribuem -

    segundo projeto a fazer parte da CNCF (junto com k8s) - Granularidade de 1s - Sugerido pelos engenheiros da Google no "SRE bible" - Simples e robusto - Padrões já definidos - Extensível por meio de custom exporters - Service discovery - Federation
  4. node_exporter - collectd + collectd_exporter até funcionava - collectd bugado,

    difícil atualizar, quebrava direto - node_exporter integra direto com o prometheus - baixar e executar um binário com 0 deps
  5. Prometheus 2 - melhorias de performance - mudança formato de

    .rules pra .yaml - resolvido bug antigo de "stale metrics" - N outras melhorias
  6. Prometheus 2: upgrade - estamos com o prometheus 1.8.2 e

    2.0.0 rodando - prometheus 1 em read-only - prometheus 2 faz "remote read" no prometheus 1 - eventualmente vamos deixar apenas o prometheus 2 rodando https://prometheus.io/docs/prometheus/2.0/migration/
  7. Quem estiver on-call - Investiga o incidente - Se for

    um incidente real resolve e/ou liga pra alguém ajudar a resolver, ajusta status page - Se for um falso-positivo, corrige o alerta
  8. Ganhamos: - Alertas de CPU/memória/disco e etc automáticos - Processo

    de pull-request + code review - CI/CD de toda a infraestrutura de monitoramento - Formatação padrão de regras - Mais robustez na definição de alertas e rotas

More Decks by Carlos Alexandro Becker

Other Decks in Programming