Monitorar eventos de serviço
O Service Events fornece observabilidade profunda automatizada para serviços monitorados com o CloudWatch Application Signals. Ele captura métricas de erro, dados de desempenho em nível de função, instantâneos de incidentes (quando as solicitações excedem os limites de latência ou lançam exceções) e eventos de implantação, sem alterações adicionais no código.
Como funcionam os eventos de serviço
O Service Events coleta os seguintes tipos de sinais de seus serviços instrumentados:
Métricas de erro — contagens e taxas de erro por tipo de exceção para cada operação, permitindo identificar quais exceções são mais frequentes e com maior tendência de crescimento.
Métricas de chamada de função — contagem de invocações, duração e taxas de erro para funções individuais no código do seu aplicativo.
Instantâneos de incidentes — capturas detalhadas acionadas quando uma solicitação excede o limite de latência ou gera uma exceção, incluindo rastreamentos de pilha, árvores de chamadas, detalhes do chamador e contexto da operação.
Eventos de implantação — marcadores emitidos na inicialização do aplicativo e a cada 24 horas que correlacionam implantações de código com mudanças no comportamento do serviço. O aplicativo emite eventos de implantação de maneira automática. O fornecimento de metadados de implantação (git commit, ID de implantação) enriquece esses eventos com contexto adicional.
O Service Events é habilitado de maneira automática quando você habilita o CloudWatch Application Signals para seu serviço. As métricas de erro e o rastreamento de exceções são ativados de forma imediata. As métricas de chamada de função exigem configuração adicional — você deve configurar pacotes para instrumentar antes que os dados de chamada de função sejam coletados (veja Habilitar a instrumentação de funções). Os eventos de serviço podem ser desabilitados através da configuração OTEL_AWS_SERVICE_EVENTS_ENABLED=false. Os dados fluem do SDK ADOT para o agente do CloudWatch. O agente publica eventos no CloudWatch Logs (grupos de logs /aws/service-events/) e no CloudWatch Metrics.service-name
Linguagens com suporte: Java, Python e Node.js.
nota
Os eventos de serviço são desabilitados de maneira automática em ambientes Lambda.
Armazenamento de dados
O Service Events armazena dados no CloudWatch Logs. O CloudWatch publica dados de eventos de serviço em um grupo de logs com o prefixo /aws/application-signals/, em que service-nameservice-name é o valor da sua variável de ambiente OTEL_SERVICE_NAME. Um grupo de logs é criado por serviço.
Você é cobrado pela ingestão e pelo armazenamento de logs de acordo com as taxas padrão do CloudWatch Logs.
Visualizar erros no console
No console do CloudWatch, navegue até Application Signals, escolha seu serviço e, em seguida, escolha a guia Errors. Essa guia mostra métricas de exceção para seu serviço.
A guia exibe:
Um gráfico de contagem de exceções mostrando tendências de erro ao longo do tempo. Utilize isso para detectar quais tipos de exceção mudaram de frequência recentemente.
Uma tabela listando cada tipo de exceção, a operação em que ela ocorreu, a contagem de ocorrências e a alteração em comparação com o período anterior.
Selecione uma exceção para detalhar as informações, incluindo o rastreamento de pilha, a mensagem de exceção e um link para o rastreamento associado.
Os erros são agrupados por operação, tipo de exceção e quadros de pilha superiores. Apenas o representante mais recente de cada grupo é mostrado.
nota
Para visualizar os dados de erro, pelo menos um grupo de logs /aws/service-events/ deve existir na sua conta. Se não existirem grupos de logs, a guia Errors exibirá um prompt de integração.service-name
Exibir eventos de serviço em logs
Os dados do Service Events são armazenados no CloudWatch Logs em grupos de logs com o prefixo /aws/service-events/. É possível consultar esses dados diretamente usando o CloudWatch Logs Insights para criar visualizações personalizadas, criar painéis ou investigar incidentes específicos.service-name
Para consultar eventos de serviço:
Abra o console do CloudWatch e vá até Logs Insights.
Selecione o grupo de logs
/aws/service-events/para seu serviço.service-nameInsira uma consulta para filtrar e analisar os dados dos eventos do serviço.
Eventos de serviço no servidor MCP (Model Context Protocol) do CloudWatch Application Signals
Os dados de eventos de serviço podem ser acessados por meio do servidor MCP (Model Context Protocol) do CloudWatch Application Signals, permitindo que assistentes e agentes de codificação de IA consultem diretamente o comportamento do runtime do seu serviço.
Solução de problemas do
Correlacione os erros em seu código de maneira automática com instantâneos de incidentes de produção, incluindo rastreamentos completos da pilha e endpoints afetados.
Utilize o contexto do incidente (tipos de exceção, caminhos de chamada, IDs de rastreamento) para sugerir correções específicas sem exigir que você navegue manualmente pelos painéis.
Recupere eventos de implantação para determinar se uma versão recente introduziu uma regressão.
Melhoria de performance
Consulte dados de performance em nível de função para identificar gargalos ao investigar problemas de latência.
Compare as durações das chamadas de função em todas as implantações para identificar as regressões de performance.
Para obter instruções de configuração e uso, veja o servidor MCP do Application Signals
Configurar eventos de serviço
Pré-requisitos
Para utilizar eventos de serviço, verifique se você tem as versões mínimas exigidas dos seguintes componentes:
-
Atualize o SDK ADOT — atualize o SDK de instrumentação do AWS Distro for OpenTelemetry (ADOT) para a versão mais recente da sua linguagem (Java, Python ou Node.js).
-
Atualize o complemento do Amazon EKS (se aplicável) — se você usar o complemento do Amazon EKS do CloudWatch Observability para instrumentar seus aplicativos, atualize para a versão mais recente do complemento.
-
Atualize o CloudWatch Agent — atualize para a versão
1.300069.0ou posterior do agente do CloudWatch.
Se você usa o Amazon EKS, veja Habilitar aplicações em clusters do Amazon EKS para obter instruções de configuração do complemento.
Os recursos são habilitados por padrão
Se você utiliza o CloudWatch Application Signals, os seguintes sinais de eventos de serviço são habilitados por padrão, sem necessidade de configuração adicional:
Instantâneos de incidentes (acionados em exceções e violações do limite de latência)
Métricas de erro (contagens de erros por tipo de exceção por operação)
Eventos de implantação (sempre emitidos; enriquecidos quando você fornece metadados de implantação)
Instrumentação de função (habilitada por padrão, mas não produz métricas até que você configure pacotes para instrumentar)
Os recursos mostrados a seguir são opcionais e exigem a configuração de variáveis de ambiente para produzir dados:
Métricas em nível de função (requer configuração
OTEL_AWS_SERVICE_EVENTS_PACKAGES_INCLUDE)Filtragem de endpoint personalizada
Limites de latência por endpoint
Configurações gerais
| Variável de ambiente | Padrão | Descrição |
|---|---|---|
OTEL_AWS_SERVICE_EVENTS_ENABLED |
Segue o CloudWatch Application Signals | Alternar para Service Events. O Service Events é habilitado de maneira automática quando o CloudWatch Application Signals está habilitado. Configure como false para desabilitar explicitamente. |
OTEL_AWS_SERVICE_EVENTS_SAMPLING_MODE |
always |
Controla a estratégia de amostragem de dados de chamadas de funções. Valores: always (gravar todas as chamadas de função), auto (deixar o SDK decidir com base na carga), never (desabilitar a gravação de chamadas de função). Somente se aplica quando os pacotes de instrumentação de funções são configurados. |
Habilitar a instrumentação de funções
A instrumentação de funções é habilitada por padrão, porém, não produz métricas até que você configure quais pacotes instrumentar. Forneça uma lista de permissões de pacotes para começar a coletar telemetria por função:
| Variável de ambiente | Padrão | Descrição |
|---|---|---|
OTEL_AWS_SERVICE_EVENTS_FUNCTION_INSTRUMENT_ENABLED |
true |
Habilita ou desabilita a instrumentação em nível de função. Defina como false para desativar por completo. |
OTEL_AWS_SERVICE_EVENTS_PACKAGES_INCLUDE |
Nenhum (obrigatório para métricas) | Lista separada por vírgulas de prefixos de pacotes para instrumentar. Não é necessário nenhum curinga. Por exemplo: Java usa com.myapp, Python usa myapp, Node.js usa src/myapp. |
OTEL_AWS_SERVICE_EVENTS_PACKAGES_EXCLUDE |
Nenhum | Lista separada por vírgulas de subpacotes a serem excluídos da instrumentação. Excluir sempre tem precedência sobre incluir. Por exemplo, inclua com.myapp e exclua com.myapp.models para instrumentar o código do seu aplicativo, mas ignore as classes do modelo de dados. |
Filtragem de endpoints
A filtragem de endpoints controla quais endpoints geram métricas de erro de endpoint e instantâneos de incidentes. Essas configurações não afetam a instrumentação da função.
| Variável de ambiente | Padrão | Descrição |
|---|---|---|
OTEL_AWS_SERVICE_EVENTS_ENDPOINT_INCLUDE_PATTERNS |
Todos os endpoints | Padrões glob separados por vírgula de endpoints a serem incluídos. Combinado com METHOD /route. |
OTEL_AWS_SERVICE_EVENTS_ENDPOINT_EXCLUDE_PATTERNS |
Nenhum | Padrões glob separados por vírgula de endpoints a serem excluídos. A exclusão tem precedência quando um endpoint corresponde a ambos. |
Limites de latência
Utilize as seguintes variáveis de ambiente para configurar os limites de latência para acionadores de instantâneos de incidentes.
| Variável de ambiente | Padrão | Descrição |
|---|---|---|
OTEL_AWS_SERVICE_EVENTS_INCIDENT_SNAPSHOT_DURATION_THRESHOLD_MS |
5000 |
Limite de latência global em milissegundos. Solicitações que excedam essa duração acionam um instantâneo do incidente. |
OTEL_AWS_SERVICE_EVENTS_LATENCY_THRESHOLDS |
Nenhum | Limites de latência por endpoint que substituem o padrão global. Formato: METHOD /route:ms (por exemplo, GET /health:200,POST /checkout:8000). |
Limitação de intervalo
Utilize as seguintes variáveis de ambiente para controlar a taxa na qual os dados de eventos de serviço são coletados e relatados.
| Variável de ambiente | Padrão | Descrição |
|---|---|---|
OTEL_AWS_SERVICE_EVENTS_INCIDENT_SNAPSHOT_MAX_PER_MINUTE |
100 |
Número máximo de instantâneos de incidentes capturados por minuto. |
OTEL_AWS_SERVICE_EVENTS_INCIDENT_SNAPSHOT_MAX_SAME_ERROR |
1 |
Número máximo de instantâneos para o mesmo erro por janela de captura. |
Configurar eventos de implantação
Os eventos de implantação são sempre emitidos na inicialização do aplicativo e a cada 24 horas. O fornecimento de metadados de implantação enriquece esses eventos para que você possa correlacionar incidentes e alterações de desempenho com implantações de código específicas.
Defina as seguintes variáveis de ambiente em seus contêineres ou processos de aplicativos para fornecer metadados de implantação:
| Variável de ambiente | Descrição |
|---|---|
OTEL_AWS_SERVICE_EVENTS_GIT_COMMIT_SHA |
SHA do commit do Git do código implantado. |
OTEL_AWS_SERVICE_EVENTS_GIT_REPO_URL |
URL do repositório Git. |
OTEL_AWS_SERVICE_EVENTS_DEPLOYMENT_ID |
Identificador exclusivo para a implantação (por exemplo, um ID de execução de pipeline de CI/CD). |
OTEL_AWS_SERVICE_EVENTS_DEPLOYMENT_TIMESTAMP |
Registro de data e hora ISO 8601 da implantação. |
OTEL_AWS_SERVICE_EVENTS_DEPLOYMENT_URL |
URL da compilação de implantação ou execução do pipeline. |
Configurar eventos de implantação com o GitHub Actions
No seu fluxo de trabalho do GitHub Actions, utilize as variáveis de ambiente integradas para preencher os metadados de implantação. Adicione o seguinte à sua etapa de implantação ou ambiente de contêiner:
env: OTEL_AWS_SERVICE_EVENTS_GIT_COMMIT_SHA: ${{ github.sha }} OTEL_AWS_SERVICE_EVENTS_GIT_REPO_URL: ${{ github.server_url }}/${{ github.repository }} OTEL_AWS_SERVICE_EVENTS_DEPLOYMENT_ID: ${{ github.run_id }} OTEL_AWS_SERVICE_EVENTS_DEPLOYMENT_TIMESTAMP: $(date -u +%Y-%m-%dT%H:%M:%SZ) OTEL_AWS_SERVICE_EVENTS_DEPLOYMENT_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
Se você implantar imagens de contêiner, transmita esses valores como variáveis de ambiente na definição da tarefa ou na especificação do pod. É possível incorporá-los à imagem no momento da criação ou injetá-los no momento da implantação através da sua configuração de implantação.
Configurar eventos de implantação com o GitLab CI/CD
Em seu pipeline de CI/CD do GitLab, utilize as variáveis predefinidas de CI/CD para preencher os metadados de implantação. Adicione o seguinte ao seu trabalho de implantação:
deploy: variables: OTEL_AWS_SERVICE_EVENTS_GIT_COMMIT_SHA: $CI_COMMIT_SHA OTEL_AWS_SERVICE_EVENTS_GIT_REPO_URL: $CI_PROJECT_URL OTEL_AWS_SERVICE_EVENTS_DEPLOYMENT_ID: $CI_PIPELINE_ID OTEL_AWS_SERVICE_EVENTS_DEPLOYMENT_TIMESTAMP: $(date -u +%Y-%m-%dT%H:%M:%SZ) OTEL_AWS_SERVICE_EVENTS_DEPLOYMENT_URL: $CI_PIPELINE_URL
Passe essas variáveis para seus contêineres de aplicativos no momento da implantação através da sua plataforma de orquestração de contêineres (por exemplo, como variáveis de ambiente na definição de tarefas do Amazon ECS ou no manifesto de implantação do Kubernetes).