Skip to main content

Awss3 Receiver

Status Available in: contrib Maintainers: @atoulme, @adcharre Source: opentelemetry-collector-contrib

Supported Telemetry

Logs Metrics Traces

Overview

Overview

Receiver for retrieving telemetry data (traces, metrics, and logs) previously stored in S3. This receiver is commonly used with the AWS S3 Exporter but can process any S3 objects containing telemetry data in supported formats. The receiver supports:
  • Traces, Metrics, and Logs - All three OpenTelemetry signal types
  • Multiple formats - OTLP (JSON and Protocol Buffers), plus custom formats via encoding extensions
  • Two retrieval modes:
    • Time-based: Fetch data from a specific time range using S3 key partitioning
    • Event-driven: Process new objects as they arrive via SQS notifications

Configuration

The following exporter configuration parameters are supported. There are two modes of operation:
  1. Time Range Mode - Specify starttime and endtime to fetch data from a specific time range.
  2. SQS Message Mode - Subscribe to SQS messages to process new objects as they arrive.

SQS Message Configuration

The receiver can subscribe to an SQS queue that receives S3 event notifications:
Note: You must configure your S3 bucket to send event notifications to the SQS queue. Time-based configuration (starttime/endtime) and SQS configuration cannot be used together.

Time format for starttime and endtime

The starttime and endtime fields are used to specify the time range for which to retrieve data. The time format is either RFC3339,YYYY-MM-DD HH:MM or simply YYYY-MM-DD, in which case the time is assumed to be 00:00.

Encodings

By default, the receiver understands the following encodings:
  • otlp_json (OpenTelemetry Protocol format represented as json) with a suffix of .json
  • otlp_proto (OpenTelemetry Protocol format represented as Protocol Buffers) with a suffix of .binpb
The encodings options allows you to specify Encoding Extensions to use to decode keys with matching suffixes.

Example Configuration

Notifications

The receiver can send notifications of ingest progress to an OpAmp server using the custom message capability of “org.opentelemetry.collector.receiver.awss3” and message type “TimeBasedIngestStatus”. The format of the notifications is a ProtoBuf formatted OLTP logs message with a single Log Record. The body of the record is set to status and the timestamp of the record is used to hold the ingest time. The record also has the following attributes: The “ingesting” status is sent at the beginning of the ingest process before data has been retrieved for the specified time. If during the processing of the data an error occurs a status message with ingest_status set to “failed” status with the time of the data being ingested when the failure occurred. If the ingest process completes successfully a status message with ingest_status set to “completed” is sent.

Object Lifecycle Management

If the tag_object_after_ingestion is enabled the receiver will make a best-effort attempt to tag objects with otel-collector:status = ingested after they are processed by the pipeline. This requires an additional s3:PutObjectTagging permission. This tag can then be used with a lifecycle policy to expire ingested objects or transition them to cheaper storage classes.

Configuration

Example Configuration


Last generated: 2026-08-24