OPS04-BP05 Implementar rastreamento distribuído
O rastreamento distribuído oferece uma maneira de monitorar e visualizar solicitações à medida que elas percorrem vários componentes de um sistema distribuído. Ao capturar dados de rastreamento de várias fontes e analisá-los em uma visão unificada, as equipes podem entender melhor como as solicitações fluem, onde existem gargalos e onde os esforços de otimização devem se concentrar.
Resultado desejado: obtenha uma visão holística das solicitações que fluem pelo seu sistema distribuído, permitindo depuração precisa, performance otimizada e experiências de usuário aprimoradas.
Práticas comuns que devem ser evitadas:
-
Instrumentação inconsistente: nem todos os serviços em um sistema distribuído são instrumentados para rastreamento.
-
Ignorar a latência: foco apenas nos erros e sem considerar a latência ou as degradações graduais da performance.
Benefícios de implementar esta prática recomendada:
-
Visão geral abrangente do sistema: visualização de todo o caminho das solicitações, da entrada à saída.
-
Depuração aprimorada: identificação rápida de onde ocorrem falhas ou problemas de performance.
-
Experiência de usuário aprimorada: monitoramento e otimização com base nos dados reais do usuário, garantindo que o sistema atenda às demandas do mundo real.
Nível de risco exposto se esta prática recomendada não for estabelecida: Alto
Orientação para implementação
Comece identificando todos os elementos da workload que exigem instrumentação. Depois que todos os componentes forem contabilizados, utilize ferramentas como o AWS X-Ray e o OpenTelemetry para coletar dados de rastreamento para análise com ferramentas como o X-Ray e o Amazon CloudWatch ServiceLens Map. Faça avaliações regulares com desenvolvedores e complemente essas discussões com ferramentas como o Amazon DevOps Guru, o X-Ray Analytics e o X-Ray Insights para ajudar a fazer descobertas mais profundas. Estabeleça alertas a partir de dados de rastreamento para notificar quando os resultados, conforme definido no plano de monitoramento da workload, estiverem em risco.
Etapas de implementação
Para implementar o rastreamento distribuído de forma eficaz:
-
Adote o AWS X-Ray
: integre o X-Ray à sua aplicação para obter informações sobre seu comportamento, entender sua performance e identificar gargalos. Utilize o X-Ray Insights para análise automática de rastreamento. -
Instrumente seus serviços: verifique se cada serviço, de uma função do AWS Lambda
a uma instância do EC2 , envia dados de rastreamento. Quanto mais serviços você instrumentar, mais clara será a visão completa. -
Incorpore o monitoramento de usuários reais do CloudWatch e o monitoramento sintético: integre o monitoramento de usuários reais (RUM) e o monitoramento sintético com o X-Ray. Isso permite capturar experiências reais do usuário e simular as interações do usuário para identificar possíveis problemas.
-
Use o agente do CloudWatch: o agente pode enviar rastreamentos a partir do X-Ray ou do OpenTelemetry, aumentando a profundidade dos insights obtidos.
-
Use o Amazon DevOps Guru
: o DevOps Guru usa dados do X-Ray, CloudWatch, AWS Config e AWS CloudTrail para fornecer recomendações práticas. -
Analise os rastreamentos: revise regularmente os dados de rastreamento para discernir padrões, anomalias ou gargalos que possam afetar a performance da sua aplicação.
-
Configure alertas: configure alarmes no CloudWatch
para padrões incomuns ou latências estendidas, permitindo o tratamento proativo de problemas. -
Aprimoramento contínuo: revise sua estratégia de rastreamento à medida que os serviços são adicionados ou modificados para capturar todos os pontos de dados relevantes.
Nível de esforço do plano de implementação: Médio
Recursos
Práticas recomendadas relacionadas:
Documentos relacionados:
Vídeos relacionados:
Exemplos relacionados: