

# OTLP 端点
<a name="CloudWatch-OTLPEndpoint"></a>

OpenTelemetry 协议（OTLP）是一种专为 OpenTelemetry 设计的通用遥测数据传输协议。CloudWatch OpenTelemetry 端点是 HTTP 1.1 端点。您需要配置 OpenTelemetry 收集器才能开始向 CloudWatch 发送开放的遥测数据。有关更多信息，请参阅 [开始使用](CloudWatch-OTLPGettingStarted.md)。

## 日志端点
<a name="CloudWatch-LogsEndpoint"></a>

日志端点遵循模式 `https://logs.{{AWS 区域}}.amazonaws.com/v1/logs`。例如，对于 `US West (Oregon) (us-west-2) Region`，端点为 `https://logs.us-west-2.amazonaws.com/v1/logs`。您可以使用上述端点将日志转发到现有 `LogGroup` 和 `LogStream`。有关设置 `LogGroup` 摄取日志数据的更多信息，请参阅 [Amazon CloudWatch Logs concepts](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatchLogsConcepts.html)。

在调用 CloudWatch Logs OpenTelemetry 端点时，必须通过将 `x-aws-log-group` 和 `x-aws-log-stream` HTTP 标头分别设置为 `LogGroup` 和 `LogStream` 名称来配置 `LogGroup` 和 `LogStream`。有关更多信息，请参阅 [开始使用](CloudWatch-OTLPGettingStarted.md)。端点使用签名 4 身份验证对调用者进行身份验证。有关更多信息，请参阅[适用于 API 请求的 AWS 签名版本 4](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv.html)。

当日志事件大小超过 1 MB 时，CloudWatch Logs 会自动从最大字段开始截断，最多可截断 10 个字段。每个字段会根据需要被截断，使事件总大小尽可能接近 1 MB。超出的部分将存储为大型日志对象（LLO），同时会添加 LLO 引用系统字段。您也可以通过设置 `x-aws-truncatable-fields ` HTTP 标头，自行指定需要截断的字段路径。使用 `GetLogObject` API 可以检索 LLO 并将其流式返回。有关更多信息，请参阅 [GetLogObject](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_GetLogObject.html)。目前，美国东部（弗吉尼亚州北部）、美国西部（俄勒冈州）、欧洲地区（法兰克福）、亚太地区（悉尼）、亚太地区（孟买）、美国东部（俄亥俄州）、欧洲地区（爱尔兰）、亚太地区（东京）和亚太地区（新加坡）支持处理大于 1 MB 的日志事件，同时也可使用 LLO 相关功能。

## 指标端点
<a name="CloudWatch-MetricsEndpoint"></a>

指标端点遵循模式 `https://monitoring.{{AWS Region}}.amazonaws.com/v1/metrics`。例如，对于美国西部（俄勒冈州）（us-west-2）区域，端点为 `https://monitoring.us-west-2.amazonaws.com/v1/metrics`。

您需要配置 OpenTelemetry Collector 才能开始向 CloudWatch 发送跟踪数据。端点使用签名 4 身份验证对调用者进行身份验证。有关更多信息，请参阅[适用于 API 请求的 AWS 签名版本 4](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv.html)。

## 跟踪端点
<a name="CloudWatch-TracesEndpoint"></a>

跟踪端点遵循模式 `https://xray.{{AWS Region}}.amazonaws.com/v1/traces`。例如，对于美国西部（俄勒冈州）（us-west-2）区域，端点为 `https://xray.us-west-2.amazonaws.com/v1/traces`。

您需要配置 OpenTelemetry 收集器才能开始向 CloudWatch 发送跟踪。端点使用签名 4 身份验证对调用者进行身份验证。有关更多信息，请参阅[适用于 API 请求的 AWS 签名版本 4](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv.html)。

## RUM 端点
<a name="CloudWatch-RUMEndpoint"></a>

RUM 端点遵循模式 `https://dataplane.rum.{AWS Region}.amazonaws.com/v1/rum`。例如，若为美国西部（俄勒冈州）区域，则端点为 `https://dataplane.rum.us-west-2.amazonaws.com/v1/rum`。该端点负责处理 CloudWatch RUM 应用程序的*客户端遥测数据*（仅包含带 `eventName` 的跟踪数据和日志记录）。

使用本端点时，您需创建基于移动平台（Android/iOS）的 [RUM 应用程序监视器](CloudWatch-RUM-get-started-create-app-monitor.md)，并使用生成的代码片段为应用程序进行埋点配置。该代码片段会拉取已配置此端点的 RUM Mobile SDK。您可对这些 SDK 做进一步配置，让 RUM 按照需求收集遥测数据。

本端点同时支持身份验证和非身份验证请求。身份验证请求可采用 AWS 签名版本 4（SigV4）方式认证，也可通过基于资源的策略，允许移动应用程序发起非身份验证访问。

如需了解其 SDK 中定义的身份验证模型相关详情，可参考以下内容：
+ iOS 应用程序：[适用于 OpenTelemetry 的 AWS Distro（ADOT）iOS SDK](https://github.com/aws-observability/aws-otel-swift)。
+ Android 应用程序：[适用于 OpenTelemetry 的 AWS Distro（ADOT）Android SDK](https://github.com/aws-observability/aws-otel-android)。

## 端点限额和限制
<a name="CloudWatch-LimitsandRestrictions"></a>

该表列出了指标、跟踪数据和日志的常见端点限额和限制。


| 限制 | 端点 | 附加信息 | 
| --- | --- | --- | 
| 所需的收集器扩展 | [sigv4authextension](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/extension/sigv4authextension) | 要向 OTLP 端点发送指标或跟踪数据，必须使用 sigv4authextension | 
| 支持的协议 | HTTP | 该端点仅支持 HTTP 而不支持 gRPC | 
| 支持的 OTLP 版本 | OTLP 1.x |   | 
| 有效负载格式 | 二进制，json | 该端点接受使用二进制和 json 格式的请求 | 
| 压缩方法 | gzip，none | 该端点仅支持 gzip 和 none 压缩方法 | 

该表列出了跟踪的端点限额和限制。


| 限制 | 跟踪端点 | 附加信息 | 
| --- | --- | --- | 
| 最大未压缩字节数/请求 | 5 MB | 未压缩有效载荷时，OTLP 端点将拒绝大于 5 MB 的请求。 | 
| 最大事件数/请求 | 1 万个跨度 | 单个批次最多可包含 1 万个跨度。超过此限制将导致 API 调用被拒绝。 | 
| 单一资源和范围大小 | 16 KB | 每个唯一资源和相应范围的大小不应超过 16 KB。任何资源若超过此限制，将导致整个 API 调用被拒绝。 | 
| 单一跨度的最大尺寸 | 200 KB | 超过 200 KB 的跨度将被端点拒绝。 | 
| 跨度创建的时间戳 | 未来 2 小时和过去 14 天 | 批次中的跨度都不能超过未来两个小时，也不能超过过去 14 天。 | 
| 事件中的最大时间间隔/请求 | 24 小时 |   | 

该表列出了指标的端点限额和限制。


| 限制 | 指标端点 | 附加信息 | 错误代码 | 
| --- | --- | --- | --- | 
| 最大 TPS | 500 | 每个账户允许的每秒最大请求数量。 | 429 | 
| 最大新序列创建速率 | 1000000 | 10 分钟的时段内可创建的最大新序列数量。此限额仅适用于创建新的指标名称，不适用于为现有指标摄取数据点。 | 429：请求中的所有指标都受到节流；200：请求中的指标受到部分节流 | 
| 最大请求大小 | 1 MB | 未压缩请求的最大大小。 | 400 | 
| 最大数据点计数 | 1000 | 在单个请求中发送的最大数据点数。此数字是 ResourceMetrics、ScopeMetrics 和 Metrics 之间的总和。 | 400 | 
| 最大元数据大小 | 40 KB | 每个数据点的一个序列接受的所有标签和标签值的最大组合大小。 | 400：请求中的所有指标均无效；200：请求中的指标部分无效 | 
| 最大标签计数 | 150 | 每个数据点的 Resource/Scope/Datapoint 属性之间的最大标签数量。 | 400：请求中的所有指标均无效；200：请求中的指标部分无效 | 

该表列出了日志的端点限额和限制。



- ** 最大未压缩字节数/请求**
  - **日志端点:** 1 MB / **附加信息:** 未压缩有效载荷时，OTLP 端点将拒绝大于 1 MB 的请求。<br />协议缓冲区序列化的二进制数据解压缩和反序列化后，最大请求大小为 1,048,576 字节。此大小的计算方式是 UTF-8 格式的所有事件消息之和加上代表每个日志记录的 26 字节。
  - **日志端点:** 20 MB<br />仅在以下区域提供：美国东部（弗吉尼亚州北部）、美国西部（俄勒冈州）、欧洲地区（法兰克福）、亚太地区（悉尼）、亚太地区（孟买）、美国东部（俄亥俄州）、欧洲地区（爱尔兰）、亚太地区（东京）、亚太地区（新加坡）。 / **附加信息:** OTLP 有效载荷经 JSON 格式解压解码后，最大请求大小为 20 MB（20,971,520 字节）。<br />对于不超过 1 MB 的日志：这些日志拥有对 CloudWatch Logs 所有功能（包括查询和实时跟踪）的完全访问权限。<br />对于超过 1 MB 的日志：超出的部分将作为大型日志对象（LLO）进行处理。

- **每秒请求数**
  - **日志端点:** 5000
  - **附加信息:** 每区域每账户每秒 5000 个事务 您可以使用服务配额服务请求增加每秒节流配额。

- ** 单一资源和范围大小**
  - **日志端点:** 16 KB
  - **附加信息:** 每个唯一资源和相应范围的大小不应超过 16 KB。任何资源若超过此限制，将导致整个 API 调用被拒绝。

- ** 单一 LogEvent 大小 **
  - **日志端点:** 1 MB
  - **附加信息:** LogEvent 大小是根据每个 LogRecord、范围和资源的大小总和计算得出的。无法更改此配额。

- **日志创建的时间戳**
  - **日志端点:** 未来 2 小时，过去 14 天
  - **附加信息:** 批次中的日志记录不必按时间顺序排列。但是，批次中的日志记录不能超过未来 2 小时，也不能超过过去 14 天。此外，任何日志记录都不能早于日志组的保留期。

- ** 事件中的最大时间间隔/请求**
  - **日志端点:** 24 小时
  - **附加信息:**  

- ** 最大事件数/请求**
  - **日志端点:** 1 万个日志
  - **附加信息:** 单个批次最多可包含 1 万条日志事件。超过此限制将导致 API 调用被拒绝。

- ** 大型日志对象数/请求数量上限**
  - **日志端点:** 1 条日志记录<br />在以下区域提供：美国东部（弗吉尼亚州北部）、美国西部（俄勒冈州）、欧洲地区（法兰克福）、亚太地区（悉尼）、亚太地区（孟买）、美国东部（俄亥俄州）、欧洲地区（爱尔兰）、亚太地区（东京）、亚太地区（新加坡）。
  - **附加信息:** 当日志事件内容超过 1 MB 时，超出部分将存储为 LLO。单次请求仅限处理 1 条日志记录。

- ** 大型日志对象数/记录数量上限**
  - **日志端点:** 10 个 LLO<br />在以下区域提供：美国东部（弗吉尼亚州北部）、美国西部（俄勒冈州）、欧洲地区（法兰克福）、亚太地区（悉尼）、亚太地区（孟买）、美国东部（俄亥俄州）、欧洲地区（爱尔兰）、亚太地区（东京）、亚太地区（新加坡）。
  - **附加信息:** 一条日志记录最多可以包含 10 个 LLO。



**注意**  
日志的账户限制在 SDK 和新的日志端点之间共享。