Datadog - introdução ao monitoramento - alertando no que importa - parte 5

Alertas são essenciais no monitoramento. Com o seu uso, podemos rapidamente, ou as vezes, automaticamente corrigir algo. Isso evita longos períodos de interrupção do serviço.

Alertas nem sempre são efetivos. Um problema real pode ficar perdido no meio de um monde te alertas inúteis.

Para achar um meio termo nesse assunto:

  • Informe os alertas de maneira liberal. O acionamento é que deve ser criterioso.
  • O acionamento deve ser sobre sintomas, e não sobre causas.

Quando alertar alguém?

O alerta deve comunicar algo simples e direto:

  • Banco está down;
  • 90% de todas as requisições web estão levando mais que 0.5s para responder;
  • Acabou o café.

Automatize o máximo possível seus alertas, e mantenha eles: completos, atualizados, evoluindo e, por favor, com runbooks!


Níveis de severidade de alertas

Quanto a severidade, podemos utilizar a mesma medida a qual já mencionamos:

  • Registro: alertas de baixa severidade. Não requer uma intervenção e tem caráter informativo.
  • Notificação: severidade média. Requer uma intervenção. Quase uma pró-atividade para impedir que algo de ruim aconteça a seguir.
  • Acionamento: alta severidade. Aí... caiu a casa. Vai ter que acordar pra ver porque o webserver retorna 5xx, ou a aplicação não conecta no banco. Falando já num contexto de gerenciamento de incidentes, esse tipo de alarme deve ter um SLA para feedbacks e também para resolução. MAS POR FAVOR! DEIXEM O RESPONSÁVEL TRABALHAR! Organizem os papéis: coordenador do incidente, comunicador, tomada de decisão e operação.

Ao cair na tentação de sair criando qualquer alarme, faça a si mesmo as seguintes perguntas:

  1. é realmente um incidente? Embora pareça óbvio, mas pegue o caso de todo mundo que coloca alarme de CPU/load. Porque? É um problema sua CPU operar em 100% se o seu tempo de resposta está ok? Talvez medir por quanto tempo essa CPU está em 100%, aí tudo bem. E além disso, e o pós? Vamos ter um upgrade no server? Porque se é pra alarmar toda noite CPU sem resolução então não alarma. Deixa o suporte dormir oras!
  2. esse incidente requer atenção? se você consegue automatizar a resolução, considere. E se for uma recorrência, corrija o problema.
  3. é urgente? o site está lento as 4 da manhã. Ok, mas tipo, lento mas funcional... dá pra esperar o pessoal acordar né? Agora, o site caiu? Café, água no rosto, liga pra alguém pra desabafar, e bora trabalhar.

Acione em sintomas

Procure deixar os acionamentos pra quando o sistema que será monitorado esteja na seguinte situação:

  • Parou de trabalhar decentemente com um(a) throughput(performance), latência ou taxas de erro aceitáveis - sem julgamentos aqui, defina você mesmo o que é trabalhar decentemente.
  • O fato de seu servidor ter deixado de ser decente é um sintoma. A causa pode ser única ou um bando de macacos viciados em cocaína acabando com o data center do sr. Amazon.
  • Monitorar sintomas, e não causas, ajuda a ver o problema pelos olhos do usuário, ao invés de se basear em hipóteses e problemas internos. E aqui volto a tirar um trecho do material, que muito me alegra:

Your users will not know or care about server load if the website is still responding quickly, and your engineers will resent being bothered for something that is only internally noticeable and that may revert to normal levels without intervention.

Datadog - Intro to Monitoring - Alerting on What Matters - Page on Symptoms

DEIXA O SUPORTE TRABALHAR/DORMIR!

A famosa exceção a regra.

As vezes, é necessário chamar a atenção para um conjunto de métricas que podem estar demonstrando que a casa vai cair daqui a pouco. Mesmo que o 'site está no ar...', 'no meu pc funciona...' etc.

O clássico exemplo é o espaço em disco. Maldito. Especialmente porque fica alarmando em 90% e o que você escuta é: troca a métrica pra 91%... até chegar em 99%.

O ideal é ter um warning com bastante tempo (digamos que um warning, durante o dia de 50%, pra ter tempo de sobra pra organizar uma mudança e adicionar mais disco). Melhor ainda, tenha uma ação automática que compacte logs e limpe, ou mova, arquivos antigos que não são mais necessários.

Isso pode evitar que você acorde aquele suporte que é arisco e mal humorado a noite. E por favor, não alimente e fotos apenas sem flash.

jim carrey scared

Leve os sintomas a sério

Padronizando então:

  • Acionamentos apenas com sintomas de problemas urgentes no seu sistema, ou, um recurso crítico e finito está a ponto de ser ultrapassado.
  • Configure seu monitoramento para registrar alertas assim que qualquer incidente for detectado, mesmo que esses incidentes não afetem a performance final.

Fala tchê!

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.