REL11-BP01 Monitorar todos os componentes da workload para detectar falhas
Monitore constantemente a integridade da workload para que você e seus sistemas automatizados detectem falhas ou degradações assim que elas ocorrerem. Monitore os indicadores-chave de performance (KPIs) com base no valor empresarial.
Todos os mecanismos de recuperação e correção devem começar com a capacidade de detectar problemas rapidamente. As falhas técnicas devem ser detectadas primeiro para que possam ser resolvidas. No entanto, a disponibilidade é baseada na capacidade da workload de entregar valor empresarial, portanto, os indicadores-chave de performance (KPIs) que medem isso precisam fazer parte da sua estratégia de detecção e remediação.
Resultado desejado: os componentes essenciais de uma workload são monitorados de forma independente para detectar e alertar sobre falhas quando e onde elas acontecem.
Práticas comuns que devem ser evitadas:
-
Nenhum alarme foi configurado, portanto as interrupções ocorrem sem notificação.
-
Os alarmes existem, mas com limites que não permitem um tempo adequado para reação.
-
As métricas não são coletadas com frequência suficiente para atender ao objetivo de tempo de recuperação (RTO).
-
Somente as interfaces da workload voltadas para o cliente são monitoradas ativamente.
-
Coleta apenas das métricas técnicas, não das métricas de função de negócios.
-
Não há métricas que medem a experiência do usuário da workload.
-
Monitores em excesso são criados.
Benefícios de implementar esta prática recomendada: o monitoramento adequado de todas as camadas permite reduzir o tempo de recuperação ao reduzir o tempo de detecção.
Nível de risco exposto se esta prática recomendada não for estabelecida: Alto
Orientação para implementação
Identifique todas as workloads que serão analisadas para monitoramento. Depois de identificar todos os componentes da workload que precisarão ser monitorados, será necessário determinar o intervalo de monitoramento. O intervalo de monitoramento terá um impacto direto na rapidez com que a recuperação pode ser iniciada com base no tempo necessário para detectar uma falha. O tempo médio de detecção (MTTD) é a quantidade de tempo entre a ocorrência de uma falha e o início das operações de reparo. A lista de serviços deve ser extensa e completa.
O monitoramento deve abranger todas as camadas da pilha de aplicações, incluindo aplicação, plataforma, infraestrutura e rede.
Sua estratégia de monitoramento deve considerar o impacto de falhas cinzentas. Para obter mais detalhes sobre falhas cinzentas, consulte Falhas cinzentas no whitepaper Padrões de resiliência Multi-AZ avançados.
Etapas de implementação
-
O intervalo de monitoramento depende da rapidez com que você precisa fazer a recuperação. O tempo de recuperação é determinado pelo tempo necessário para a recuperação. Desse modo, você deve considerar esse tempo e o objetivo de tempo de recuperação (RTO) para determinar a frequência da coleta.
-
Configure o monitoramento detalhado de componentes e serviços gerenciados.
-
Determine se o monitoramento detalhado das instâncias do EC2 e do Auto Scaling é necessário. O monitoramento detalhado fornece métricas de intervalo de um minuto, e o monitoramento padrão fornece métricas de intervalo de cinco minutos.
-
Determine se o monitoramento avançado para RDS é necessário. O monitoramento aprimorado usa um agente nas instâncias do RDS para obter informações úteis sobre processos ou threads diferentes.
-
Determine os requisitos de monitoramento de componentes essenciais sem servidor para Lambda, API Gateway, Amazon EKS, Amazon ECS
e todos os tipos de balanceadores de carga. -
Determine os requisitos de monitoramento dos componentes de armazenamento para Amazon S3, Amazon FSx, Amazon EFS e Amazon EBS.
-
-
Crie métricas personalizadas para medir os indicadores-chave de performance (KPIs) de negócios. As workloads implementam as principais funções empresariais, as quais devem ser usadas como KPIs para ajudar a identificar quando um problema indireto ocorre.
-
Utilize os canários de usuário para monitorar a experiência do usuário e verificar se há falhas. O teste de transações sintéticas (também conhecido como teste canário, que não deve ser confundidos com as implantações canário), capaz de executar e simular o comportamento do cliente, está entre os processos de teste mais importantes. Execute esses testes constantemente nos endpoints da workload de diversos locais remotos.
-
Crie métricas personalizadas que acompanhem a experiência do usuário Se você puder estabelecer instrumentos de medição da experiência do cliente, conseguirá determinar o momento de degradação da experiência do consumidor.
-
Defina alarmes para detectar quando uma parte da workload não estiver funcionando corretamente e indicar quando o ajuste de escala automático dos recursos deve ser feito. Os alarmes podem ser exibidos visualmente em painéis, enviar alertas via Amazon SNS ou e-mail e trabalhar com o Auto Scaling para aumentar ou reduzir a escala dos recursos da workload.
-
Crie painéis para visualizar as métricas. É possível usar os painéis para ver as tendências, os casos atípicos e outros indicadores de possíveis problemas ou para obter uma indicação de problemas a serem investigados.
-
Crie monitoramento de rastreamento distribuído
para seus serviços. Com o monitoramento distribuído, você compreende como está a performance de sua aplicação e seus serviços subjacentes para identificar e solucionar a causa principal de problemas e erros de performance. -
Crie painéis de sistemas de monitoramento (usando CloudWatch ou X-Ray
) e coleta de dados em uma região e conta separadas. -
Crie integração com o monitoramento do Amazon Health Aware
para permitir a visibilidade de monitoramento de recursos da AWS que possam apresentar degradações. Para workloads essenciais aos negócios, essa solução fornece acesso a alertas proativos e em tempo real para serviços da AWS.
Recursos
Práticas recomendadas relacionadas:
Documentos relacionados:
Vídeos relacionados:
Exemplos relacionados:
Ferramentas relacionadas: