

# Recopilación de métricas y seguimientos con OpenTelemetry
<a name="CloudWatch-Agent-OpenTelemetry-metrics"></a>

 Puede recopilar métricas y seguimientos de las aplicaciones o servicios mediante el agente de CloudWatch con el protocolo de OpenTelemetry (OTLP), que es una popular solución de código abierto. Puede utilizar cualquier SDK de OpenTelemetry para enviar métricas y seguimientos al agente de CloudWatch. Para obtener más información sobre los SDK de OpenTelemetry disponibles, consulte [APIs y SDKs para lenguajes compatibles de OpenTelemetry](https://opentelemetry.io/docs/languages/).

Para recopilar métricas y seguimientos de OpenTelemetry, agregue una sección `otlp` al archivo de configuración del agente de CloudWatch. La sección incluye los siguientes campos:
+ `grpc_endpoint`: opcional. Especifica la dirección que debe utilizar el agente de CloudWatch para escuchar las métricas y seguimientos de OpenTelemetry enviados mediante llamadas a procedimientos remotos de gRPC. El formato es `ip:port`. Esta dirección debe coincidir con la dirección establecida para el exportador de gRPC en el SDK de OpenTelemetry. Si omite este campo, se usa el valor predeterminado de `127.0.0.1:4317`.
+ `http_endpoint`: opcional. Especifica la dirección que el agente de CloudWatch debe utilizar para escuchar las métricas y seguimientos de OpenTelemetry enviados a través de HTTP. El formato es `ip:port`. Esta dirección debe coincidir con la dirección establecida para el exportador HTTP en el SDK de OpenTelemetry. Si omite este campo, se usa el valor predeterminado de `127.0.0.1:4318`.
+ `tls`: opcional. Especifica que el servidor debe configurarse con TLS.
  + `cert_file`: ruta al certificado TLS que se utilizará en las conexiones TLS obligatorias.
  + `key_file`: ruta a la clave TLS que se utilizará en las conexiones TLS obligatorias.

La sección `otlp` se puede colocar en varias secciones dentro del archivo de configuración del agente de CloudWatch, en función de cómo y dónde quiera enviar las métricas y los seguimientos.

**importante**  
Cada sección `otlp` requiere un punto de conexión y puerto. Si desea obtener información detallada sobre cómo dividir los puntos de conexión de métricas y seguimientos, consulte la [configuración del exportador de OTLP](https://opentelemetry.io/docs/languages/sdk-configuration/otlp-exporter/) en la documentación del SDK de OpenTelemetry.

Para enviar métricas a CloudWatch o Amazon Managed Service para Prometheus, agregue la sección `otlp` que aparece debajo de `metrics_collected` en la sección `metrics`. Para obtener más información sobre el envío de métricas a distintos destinos, consulte [Cree o edite de forma manual el archivo de configuración del agente de CloudWatch](CloudWatch-Agent-Configuration-File-Details.md). En el siguiente ejemplo se muestra una configuración que envía métricas a CloudWatch:

**nota**  
 Si ejecuta el agente en entornos en contenedores y envía telemetría desde fuera de la red del contenedor del agente, asegúrese de especificar el punto de conexión como `0.0.0.0` en lugar del punto de conexión predeterminado `127.0.0.1`.

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

Para enviar métricas a Registros de Amazon CloudWatch mediante el formato de métricas integradas (EMF), agregue la sección `otlp` debajo de `metrics_collected` en la sección `logs`. Esto envía los registros de EMF de forma predeterminada al grupo de registro `/aws/cwagent` y a un flujo de registro generado. Las métricas se extraen en el espacio de nombres `CWAgent` de forma predeterminada. En el siguiente ejemplo se muestra una configuración que envía las métricas como registros de EMF a Registros de CloudWatch:

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

Para enviar los seguimientos a AWS X-Ray, agregue la sección `otlp` debajo de `traces_collected` en la sección `traces`. En el siguiente ejemplo se muestra una configuración que envía seguimientos a X-Ray:

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