Coletar métricas e rastreamentos com o OpenTelemetry - Amazon CloudWatch

Coletar métricas e rastreamentos com o OpenTelemetry

Você pode coletar métricas e rastreamentos das aplicações ou serviços usando o agente do CloudWatch com o OpenTelemetry Protocol (OTLP), que é uma solução de código aberto popular. Você pode usar qualquer SDK do OpenTelemetry para enviar métricas e rastreamentos ao agente do CloudWatch. Para obter mais informações sobre os SDKs do OpenTelemetry disponíveis, consulte as APIs e os SDKs de linguagem compatível com o OpenTelemetry.

Para coletar métricas e rastreamentos do OpenTelemetry, adicione uma seção otlp ao arquivo de configuração do agente do CloudWatch. A seção tem os seguintes campos:

  • grpc_endpoint: opcional. Especifica o endereço que o agente do CloudWatch deve usar para receber rastreamentos e métricas do OpenTelemetry enviados usando chamadas de procedimento remoto gRPC. O formato é ip:port. Esse endereço deve corresponder ao endereço definido para o exportador de gRPC no SDK do OpenTelemetry. Se você omitir esse campo, o padrão de 127.0.0.1:4317 será usado.

  • http_endpoint: opcional. Especifica o endereço que o agente do CloudWatch deve usar para receber rastreamentos e métricas de do OpenTelemetry enviados por HTTP. O formato é ip:port. Esse endereço deve corresponder ao endereço definido para o exportador de HTTP no SDK do OpenTelemetry. Se você omitir esse campo, o padrão de 127.0.0.1:4318 será usado.

  • tls: opcional. Especifica que o servidor deve ser configurado com TLS.

    • cert_file: caminho para o certificado TLS a ser usado nas conexões necessárias do TLS.

    • key_file: caminho para a chave TLS a ser usada nas conexões necessárias do TLS.

A seção otlp pode ser colocada em várias seções no arquivo de configuração do agente do CloudWatch, dependendo de como e para onde você deseja enviar as métricas e os rastreamentos. Cada seção otlp exige um endpoint exclusivo. Para obter informações detalhadas sobre como dividir os endpoints de métricas e rastreamentos, consulte Configuração do OTLP Exporter, na documentação do OpenTelemetry SDK.

Para enviar métricas para o CloudWatch ou o Amazon Managed Service for Prometheus, adicione a seção otlp em metrics_collected na seção metrics. Para obter mais informações sobre o envio de métricas para destinos diferentes, consulte Criar ou editar manualmente o arquivo de configuração do atendente do CloudWatch. O exemplo a seguir mostra uma configuração que envia métricas ao CloudWatch:

{ "metrics": { "metrics_collected": { "otlp": { "grpc_endpoint": "127.0.0.1:4317", "http_endpoint": "127.0.0.1:4318" } } } }

Para enviar métricas para o Amazon CloudWatch Logs usando o formato de métrica incorporada (EMF), adicione a seção otlp em metrics_collected na seção logs. Isso envia os logs EMF por padrão para o grupo de logs /aws/cwagent e um fluxo de logs gerado. As métricas são extraídas no namespace CWAgent por padrão. O exemplo a seguir mostra uma configuração que envia métricas de logs EMF ao CloudWatch Logs:

{ "logs": { "metrics_collected": { "otlp": { "grpc_endpoint": "127.0.0.1:4317", "http_endpoint": "127.0.0.1:4318" } } } }

Para enviar rastreamentos para o AWS X-Ray, adicione a seção otlp em traces_collected na seção traces. O exemplo a seguir mostra uma configuração que envia rastreamentos ao X-Ray:

{ "traces": { "traces_collected": { "otlp": { "grpc_endpoint": "127.0.0.1:4317", "http_endpoint": "127.0.0.1:4318" } } } }