

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# OTLP 엔드포인트를 사용하여 로그 전송(OpenTelemetry Logs)
<a name="CWL_HTTP_Endpoints_OTLP"></a>

OpenTelemetry Logs 엔드포인트(`/v1/logs`)는 JSON 또는 Protobuf 인코딩의 OpenTelemetry Protocol(OTLP) 로그 데이터를 수락합니다. 구성 및 사용량을 포함하여 OTLP 엔드포인트에 대한 자세한 내용은 [ OpenTelemetry를 사용하여 CloudWatch로 지표 및 추적 전송을 참조하세요](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-OTLPEndpoint.html).

보유자 토큰 인증을 사용하는 경우 계속하기 [보유자 토큰 인증 설정](CWL_HTTP_Endpoints_BearerTokenAuth.md) 전에의 설정 단계를 완료합니다.

## 요청 형식
<a name="CWL_OTLP_Format"></a>
+ 메서드: `POST`
+ Content-Type: `application/json` 또는 `application/x-protobuf`
+ 로그 그룹: `x-aws-log-group` 헤더만(쿼리 파라미터는 지원되지 않음)
+ 로그 스트림: `x-aws-log-stream` 헤더

## 요청 예제
<a name="CWL_OTLP_Example"></a>

```
curl -X POST "https://logs.<region>.amazonaws.com/v1/logs" \
  -H "Authorization: Bearer ACWL<token>" \
  -H "Content-Type: application/json" \
  -H "x-aws-log-group: MyLogGroup" \
  -H "x-aws-log-stream: MyLogStream" \
  -d '{
  "resourceLogs": [
    {
      "resource": {
        "attributes": [
          {
            "key": "service.name",
            "value": { "stringValue": "my-service" }
          }
        ]
      },
      "scopeLogs": [
        {
          "scope": {
            "name": "my-library",
            "version": "1.0.0"
          },
          "logRecords": [
            {
              "timeUnixNano": "1741900000000000000",
              "severityNumber": 9,
              "severityText": "INFO",
              "body": {
                "stringValue": "User logged in successfully"
              },
              "attributes": [
                {
                  "key": "user.id",
                  "value": { "stringValue": "12345" }
                }
              ]
            }
          ]
        }
      ]
    }
  ]
}'
```

## 응답
<a name="CWL_OTLP_Responses"></a>

**성공(모든 이벤트 수락됨):**

```
HTTP 200 OK
{}
```

**부분 성공(일부 이벤트가 거부됨):**

```
{
  "partialSuccess": {
    "rejectedLogRecords": 5,
    "errorMessage": "{\"tooOldLogEventCount\": 3, \"tooNewLogEventCount\": 1, \"expiredLogEventCount\": 1}"
  }
}
```

요청 Content-Type이 인 경우 `application/x-protobuf`응답은 필드가 동일한 직렬화된 `ExportLogsServiceResponse` protobuf 메시지로 반환됩니다.

## OTLP 관련 동작
<a name="CWL_OTLP_Specific_Behaviors"></a>

다음 동작은 OTLP 엔드포인트에 고유하며 다른 HTTP 수집 엔드포인트에는 없습니다.
+ **Retry-After 헤더** - 클라이언트가 언제 재시도해야 하는지를 나타내는 503 및 429 응답에 포함됩니다.