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

Monitoring @ ContaAzul

Monitoring @ ContaAzul

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

Carlos Alexandro Becker

November 25, 2017
Tweet

More Decks by Carlos Alexandro Becker

Other Decks in Programming

Transcript

  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