

# OpenTelemetry를 사용하여 지표 및 트레이스 수집
<a name="CloudWatch-Agent-OpenTelemetry-metrics"></a>

 널리 사용되는 오픈 소스 솔루션인 OpenTelemetry Protocol(OTLP)과 함께 CloudWatch 에이전트를 사용하여 애플리케이션 또는 서비스에서 지표와 트레이스를 수집할 수 있습니다. OpenTelemetry SDK를 사용하여 지표와 트레이스를 CloudWatch 에이전트로 전송할 수 있습니다. 사용 가능한 OpenTelemetry SDK에 대한 자세한 내용은 [ OpenTelemetry Supported Language APIs & SDKs](https://opentelemetry.io/docs/languages/)를 참조하세요.

OpenTelemetry 지표 및 트레이스를 수집하려면 CloudWatch 에이전트 구성 파일에 `otlp` 섹션을 추가합니다. 이 섹션에는 다음 필드가 포함됩니다.
+ `grpc_endpoint` – 선택 사항입니다. gRPC 원격 프로시저 직접 호출을 사용하여 전송된 OpenTelemetry 지표 또는 트레이스를 수신하는 데 사용할 CloudWatch 에이전트의 주소를 지정합니다. 형식은 `ip:port`입니다. 이 주소는 OpenTelemetry SDK에서 gRPC 내보내기에 설정된 주소와 일치해야 합니다. 이 필드를 생략하면 기본값인 `127.0.0.1:4317`가 사용됩니다.
+ `http_endpoint` – 선택 사항입니다. HTTP를 통해 전송된 OpenTelemetry 지표 또는 트레이스를 수신하는 데 사용할 CloudWatch 에이전트의 주소를 지정합니다. 형식은 `ip:port`입니다. s이 주소는 OpenTelemetry SDK에서 HTTP 내보내기에 설정된 주소와 일치해야 합니다. 이 필드를 생략하면 기본값인 `127.0.0.1:4318`가 사용됩니다.
+ `tls` – 선택 사항입니다. 서버를 TLS로 구성하도록 지정합니다.
  + `cert_file` - TLS 필수 연결에 사용할 TLS 인증서의 경로.
  + `key_file` - TLS 필수 연결에 사용할 TLS 키의 경로.

이 `otlp` 섹션은 지표 및 트레이스를 전송할 방법과 위치에 따라 CloudWatch 에이전트 구성 파일 내의 여러 섹션에 배치할 수 있습니다.

**중요**  
각 `otlp` 섹션에는 고유한 엔드포인트 및 포트가 필요합니다. 지표 및 추적 엔드포인트 분할에 대한 자세한 내용은 OpenTelemetry SDK 설명서의 [OTLP Exporter Configuration](https://opentelemetry.io/docs/languages/sdk-configuration/otlp-exporter/)을 참조하세요.

CloudWatch 또는 Amazon Managed Service for Prometheus로 지표를 전송하려면 `metrics` 섹션 내의 `metrics_collected`의 아래에 `otlp` 섹션을 추가합니다. 다른 대상으로 지표를 전송하는 방법에 대한 자세한 내용은 [수동으로 CloudWatch 에이전트 구성 파일 생성 또는 편집](CloudWatch-Agent-Configuration-File-Details.md) 섹션을 참조하세요. 다음 예제에서는 CloudWatch로 지표를 전송하는 구성을 보여줍니다.

**참고**  
 컨테이너화된 환경에서 에이전트를 실행하고 에이전트 컨테이너의 네트워크 외부에서 원격 측정을 전송하는 경우 기본 엔드포인트 `127.0.0.1` 대신 `0.0.0.0`으로 엔드포인트를 지정해야 합니다.

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

임베디드 지표 형식(EMF)을 사용하여 Amazon CloudWatch Logs로 지표를 전송하려면 `logs` 섹션 내의 `metrics_collected` 아래에 `otlp` 섹션을 추가합니다. 이렇게 하면 기본적으로 EMF 로그가 `/aws/cwagent` 로그 그룹 및 생성된 로그 스트림으로 전송됩니다. 지표는 기본적으로 `CWAgent` 네임스페이스로 추출됩니다. 다음 예제에서는 지표를 EMF 로그로서 CloudWatch Logs에 전송하는 구성을 보여줍니다.

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

트레이스를 AWS X-Ray로 전송하려면 `traces` 섹션 내의 `traces_collected` 아래에 `otlp` 섹션을 추가합니다. 다음 예제에서는 트레이스를 X-Ray로 전송하는 구성을 보여줍니다.

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