Metrics | Logs | Traces |
---|---|---|
✓ | ✓ | ✓ |
The AWS S3 destination saves telemetry into timestamped JSON files in an S3 bucket.
Parameter | Type | Default | Description |
---|---|---|---|
telemetry_types* | telemetrySelector |
["Logs", "Metrics", "Traces"] |
Specifies which types of telemetry to export. |
region* | enum |
us-east-1 | AWS region of the bucket to export telemetry to. |
bucket* | string |
"" | Name of the S3 Bucket to export telemetry into. |
prefix | string |
"" | The root directory of the bucket to export telemetry into. |
file_prefix | string |
"" | Prefix for the name of exported telemetry files. |
granularity* | enum |
minute | The granularity of the timestamps in the S3 key, either “minute” or “hour”. |
With AWS S3, users are required to provide some form of authentication. There are two ways to configure this: either entering profile credentials manually or using the CLI, or environment variables that specify access keys for user accounts.
The easiest way to configure this is using the aws
CLI program provided by AWS. The AWS CLI Getting Started guide describes how to install the CLI and configure it with credentials. The AWS S3 destination uploads telemetry to the specified bucket, so the credentials configured should be associated with an account that has s3:PutObject
permissions for that bucket.
Alternatively, AWS Environment variables can be specified to override a credentials file. You can modify the collector’s environment variables by configuring a systemd
override.
Run sudo systemctl edit observiq-otel-collector
and add your access key, secret key, and region:
[Service]
Environment=AWS_ACCESS_KEY_ID=******
Environment=AWS_SECRET_ACCESS_KEY=******
Environment=AWS_DEFAULT_REGION=us-east-1
After making that change, reload Systemd and restart the collector service.
sudo systemctl daemon-reload
sudo systemctl restart observiq-otel-collector