OPS04-BP01 Implementar a telemetria de aplicações
A telemetria de aplicações é a base para a observabilidade da workload. A aplicação deve emitir telemetria que forneça insight do estado da aplicação e da aquisição dos resultados da empresa. Da solução de problemas à medição do impacto de um novo recurso, a telemetria de aplicações informa a maneira como você cria, opera e evolui a workload.
A telemetria de aplicações consiste em métricas e logs. As métricas são informações de diagnóstico, como seu pulso ou temperatura. As métricas são usadas coletivamente para descrever o estado de uma aplicação. A coleta das métricas ao longo do tempo pode ser usada para desenvolver linhas de base e detectar anomalias. Os logs são mensagens que a aplicação envia sobre seu estado interno ou os eventos que ocorrem. Códigos de erros, identificadores de transações e ações dos usuários são exemplos dos eventos registrados em log.
Resultado desejado:
-
A aplicação emite métricas e logs que fornecem insights da integridade e da aquisição de resultados dos negócios.
-
As métricas e logs são armazenados centralmente para todas as aplicações na workload.
Antipadrões comuns:
-
Seu aplicativo não emite telemetria. Você é forçado a contar com seus clientes para informar quando algo está errado.
-
Um cliente relatou que seu aplicativo não responde. Você não tem telemetria e não consegue confirmar se o problema existe ou caracterizar o problema sem usar o aplicativo para entender a experiência atual do usuário.
Benefícios do estabelecimento desta prática recomendada:
-
É possível compreender a integridade das aplicações, a experiência dos usuários e a aquisição dos resultados.
-
Reagir rapidamente às mudanças da integridade das aplicações.
-
Desenvolver a partir das tendências da integridade das aplicações.
-
Tomar decisões embasadas sobre como melhorar as aplicações.
-
E detectar e resolver problemas das aplicações mais rapidamente.
Nível de exposição a riscos quando esta prática recomendada não é estabelecida: alto
Orientações para a implementação
A implementação da telemetria de aplicações consiste em três etapas: a identificação de um local para armazenar a telemetria, a identificação da telemetria que descreve o estado das aplicações e a instrumentação das aplicações para emitirem telemetria.
Exemplo de clientes
A AnyCompany Retail tem uma arquitetura baseada em microsserviços. Como parte do processo de design dessa arquitetura, a empresa identificou a telemetria de aplicações que a ajudaria a entender o estado de cada microsserviço. Por exemplo, o serviço de carrinho do usuário emite telemetria sobre eventos, como adição ao carrinho, abandono do carrinho e o tempo levado para adicionar um item ao carrinho. Todos os microsserviços registram erros, avisos e informações sobre as transações. A telemetria é enviada ao Amazon CloudWatch para armazenamento e análise.
Etapas da implementação
-
1Identifique um local central para armazenamento da telemetria para as aplicações da workload. O local deve ser compatível com os recursos de coleta de telemetria e análise. A detecção de anomalias e os insights automatizados são recursos recomendados.
-
O Amazon CloudWatch
fornecerá a coleta da telemetria, os painéis, a análise e os recursos para a geração de eventos.
-
-
Para identificar de qual telemetria você necessita, comece respondendo a esta pergunta: qual é o estado da minha aplicação? A aplicação deve emitir logs e métricas que respondam coletivamente a essa pergunta. Se não for possível responder a essas perguntas com a telemetria de aplicações existentes, trabalhe com os stakeholders da empresa e da engenharia para criarem uma lista de requisitos de telemetria.
-
É possível solicitar consultoria técnica especializada da equipe da Conta da AWS ao identificar e desenvolver nova telemetria de aplicações.
-
-
Quando a telemetria adicional de aplicações estiver identificada, trabalhe com os stakeholders da engenharia para instrumentar as aplicações.
-
O AWS Distro para Open Telemetry
fornece bibliotecas de APIs e agentes que coletam telemetria de aplicações. Este exemplo demonstra como instrumentar uma aplicação JavaScript com métricas personalizadas . -
bSe você quiser entender os serviços de observabilidade que a AWS oferece, trabalhe no One Observability Workshop
ou solicite suporte à sua equipe da Conta da AWS. -
Para mergulhar mais profundamente na telemetria de aplicações, leia o artigo Como instrumentar sistemas distribuídos para obter visibilidade operacional
na Amazon Builder’s Library, que explica como a Amazon instrumenta as aplicações e pode servir como um guia para o desenvolvimento de suas próprias diretrizes de instrumentação.
-
Nível de esforço do plano de implementação: alto. Instrumentar sua aplicação e centralizar o armazenamento de telemetria pode exigir um investimento significativo.
Recursos
Práticas recomendadas relacionadas:
OPS04-BP02 Implementar e configurar a telemetria da workload: a telemetria de aplicações é um componente da telemetria de workload. Para compreender a integridade da workload geral, entenda a integridade das aplicações individuais que compõem a workload.
OPS04-BP03 Implementar a telemetria de atividades dos usuários: a telemetria das atividades dos usuários geralmente é um subconjunto da telemetria de aplicações. As atividades dos usuários, como eventos de adições ao carrinho, cliques em streams ou transações concluídas, fornecem insight da experiência do usuário.
OPS04-BP04 Implementar a telemetria de dependências: as verificações de dependências estão relacionadas à telemetria de aplicações e podem ser instrumentadas nas aplicações. Se a aplicação contar com dependências externas, como o DNS ou um banco de dados, a aplicação poderá emitir métricas e logs sobre a acessibilidade, os tempos limite e outros eventos.
OPS04-BP05 Implementar a capacidade de rastreamento das transações: o rastreamento das transações em uma workload requer que cada aplicação emita informações sobre como ela processa eventos compartilhados. A forma como as aplicações individuais tratam esses eventos é emitida por meio da telemetria de aplicações.
OPS08-BP02 Definir as métricas da workload: as métricas da workload são os principais indicadores da integridade da workload. As métricas principais das aplicações são parte das métricas da workload.
Documentos relacionados:
-
AWS Builders Library – Instrumenting Distributed Systems for Operational Visibility
(AWS Builders Library: Como instrumentar sistemas distribuídos para obter observabilidade operacional) -
AWS Whitepaper Well-Architected Operational Excellence: Design Telemetry (Excelência operacional do Well-Architected: Design de telemetria)
-
Creating metrics from log events using filters (Criação de métricas de eventos de logs usando filtros)
-
Implementing Logging and Monitoring with Amazon CloudWatch (Implementação de registro em log e monitoramento com o Amazon CloudWatch)
-
Monitoring application health and performance with AWS Distro for OpenTelemetry
(Monitoramento da integridade e da performance das aplicações com o AWS Distro para OpenTelemetry) -
New: How to better monitor your custom application metrics using Amazon CloudWatch Agent
(Novidade: Como monitorar melhor as métricas de aplicações personalizadas usando o agente do Amazon CloudWatch) -
Observability at AWS
(Observabilidade na AWS) -
Scenario – Publish metrics to CloudWatch (Cenário: Publicar métricas no CloudWatch)
-
Start Building – How to Monitor your Applications Effectively
(Comece a criar: Como monitorar suas aplicações com eficácia) -
Using CloudWatch with an AWS SDK (Usar o CloudWatch com um AWS SDK)
Vídeos relacionados:
-
AWS re:Invent 2021: Observability the open-source way
(re:Invent da AWS de 2021: observabilidade por código aberto) -
Collect Metrics and Logs from Amazon EC2 instances with the CloudWatch Agent
(Coletar métricas e logs das instâncias do Amazon EC2 com o agente do CloudWatch) -
How to Easily Setup Application Monitoring for Your AWS Workloads - AWS Online Tech Talks
(Como configurar facilmente o monitoramento de aplicações para as workloads da AWS: AWS Online Tech Talks) -
Mastering Observability of Your Serverless Applications - AWS Online Tech Talks
(Domínio da observabilidade de aplicações de tecnologia sem servidor: AWS Online Tech Talks) -
Open Source Observability with AWS - AWS Virtual Workshop
(Observabilidade de código aberto com a AWS: Workshop virtual da AWS)
Exemplos relacionados:
-
AWS Logging & Monitoring Example Resources
(Recursos de exemplo de registro em log e monitoramento da AWS)
Serviços relacionados: