OTLP Endpoints
OpenTelemetry Protocol (OTLP) is a general-purpose telemetry data delivery protocol designed for the OpenTelemetry. CloudWatch OpenTelemetry endpoints are HTTP 1.1 endpoints. You need to configure your OpenTelemetry collector to start sending open telemetry data to CloudWatch. For more information, see Getting started. The endpoint authenticates callers using Signature 4 authentication. For more information, see Amazon Signature Version 4 for API requests.
Traces endpoint
The traces endpoint follows the pattern https://xray.
. For example,
for the US West (Oregon) (us-west-2) Region, the endpoint will be Amazon Region
.amazonaws.com/v1/traceshttps://xray.us-west-2.amazonaws.com/v1/traces
.
You need to configure your OpenTelemetry collector to start sending traces to CloudWatch. To get started, see Getting started.
Logs endpoint
The logs endpoint follows the pattern https://logs.
. For example, for the Amazon Web Services Region
.amazonaws.com/v1/logsUS West (Oregon) (us-west-2) Region
, the endpoint will be https://logs.us-west-2.amazonaws.com/v1/logs
.
You can use the above endpoint to forward logs to an existing LogGroup
and LogStream
. For more information on setting up LogGroup
to ingest log
data, see Amazon CloudWatch Logs concepts.
You must configure LogGroup
and LogStream
when you invoke CloudWatch Logs OpenTelemetry endpoint by setting x-aws-log-group
and x-aws-log-stream
HTTP headers to LogGroup
and LogStream
name respectively. For more information, see Getting started.
When log event size exceed 1MB, CloudWatch Logs automatically truncates up to 10 fields, starting with the largest fields. Each field is truncated as needed to
keep the total event size as close to 1MB as possible. The excess portions are stored as Large Log Objects (LLOs) and LLO reference system fields are added.
Optionally, you can specify the field paths that need to be truncated by setting the x-aws-truncatable-fields
HTTP header. The LLOs can be retrieved and streamed back using the GetLogObject
API.
For more information, see GetLogObject.
Support of log events larger than 1MB and LLO experience is available in US East (N. Virginia) US West (Oregon), Europe (Frankfurt), and Asia Pacific (Sydney).
Endpoint limits and restrictions
The table lists the common endpoint limits and restrictions for traces and logs.
Limit | Endpoint | Additional information |
---|---|---|
Required collector extension |
To send traces to OTLP endpoint you must use sigv4authextension |
|
Supported protocol |
HTTP |
The endpoint supports only HTTP and doesn't support gRPC |
Supported OTLP versions |
OTLP 1.x |
|
Payload format |
binary, json |
The endpoint accepts requests using binary and json formats |
Compression methods |
gzip, none |
The endpoint only supports gzip and none compression methods |
The table lists the endpoint limits and restrictions for traces.
Limit | Traces endpoint | Additional information |
---|---|---|
Maximum uncompressed bytes / request |
5 MB |
The OTLP endpoint will reject requests larger than 5MB when payload is uncompressed. |
Maximum events / request |
10,000 spans |
The maximum number of spans in a batch is 10,000. Exceeding this limit will cause rejection of the API call. |
Single resource and scope size |
16 KB |
Each unique resource and corresponding scope should not exceed 16 KB of size. Exceeding this limit for any resource will cause rejection of the entire API call. |
Single span maximum size |
200 KB |
Spans more than 200KB will be rejected by the endpoint. |
Span created timestamps |
2 hours in the future and 14 days in the past |
None of the spans in the batch can be more than two hours in the future or more than 14 days in the past. |
Maximum time gap in events / request |
24 hours |
The table lists the endpoint limits and restrictions for logs.
Limit | Logs endpoint | Additional information |
---|---|---|
Maximum uncompressed bytes / request |
1 MB |
The OTLP endpoint will reject requests larger than 1MB when payload is uncompressed. The maximum request size is 1,048,576 bytes after decompression and deserialization of binary data serialized by Protocol buffers. This size is calculated as the sum of all event messages in UTF-8, plus 26 bytes for each log record. |
20 MB Available only in US East (N. Virginia) US West (Oregon), Europe (Frankfurt), and Asia Pacific (Sydney). |
The maximum request size is 20MB (20,971,520 bytes) after the OTLP payload is decompressed and decoded from JSON format. For logs up to 1MB – These logs have full access to all CloudWatch Logs features including queries and live tail. For logs larger than 1MB – The excess portion is processed as Large Log Objects (LLOs). |
|
Request per second |
5000 |
5000 transactions per second per account per Region You can request an increase to the per-second throttling quota by using the Service Quotas service. |
Single resource and scope size |
16 KB |
Each unique resource and corresponding scope should not exceed 16 KB of size. Exceeding this limit for any resource will cause rejection of the entire API call. |
Single LogEvent size |
1 MB |
LogEvent size is calculated as sum of sizes for each LogRecord, Scope and Resource. This quota can't be changed. |
Logs created timestamps |
2 hours in future and 14 days old |
The log records in the batch does not have to be in a chronological order. However, the log records in the batch cannot be more than 2 hours in the future and cannot be more than 14 days in the past. Also, none of the log records can be earlier than the retention period of the log group. |
Maximum time gap in events / request |
24 hours |
|
Maximum events / request |
10,000 logs |
The maximum number of log events in a batch is 10,000. Exceeding this limit will cause rejection of the API call. |
Maximum large log objects / request |
1 log record Available in US East (N. Virginia) US West (Oregon), Europe (Frankfurt), and Asia Pacific (Sydney). |
For content exceeding 1MB in a log event, the excess content is stored as LLOs. Limited to 1 log record per request. |
Maximum large log objects / record |
10 LLOs Available in US East (N. Virginia) US West (Oregon), Europe (Frankfurt), and Asia Pacific (Sydney). |
A single log record can contain up to 10 LLOs. |
Note
The account limits for Logs are shared across the SDK and the new Logs endpoint.