influxdata / influxdata/telegraf
Support Timestream for InfluxDB Endpoints in Telegraf Timestream Output Plugin
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 17.8k
- Forks
- 5.8k
- Avg merge
- 1d 20h
- Merged PRs (30d)
- 161
Description
### Use Case
The current Telegraf Timestream output plugin only supports the Timestream LiveAnalytics (Write API) endpoints.
However, AWS has deprecated/limited access to Timestream LiveAnalytics, and is now promoting Timestream for InfluxDB as the recommended ingestion path.
Ideally, the plugin would:
* detect and support the timestream-influxdb ingestion API
* allow configuration of the InfluxDB-compatible endpoints
* fall back gracefully when LiveAnalytics is unavailable
This would ensure Telegraf remains compatible with the current direction of Amazon Timestream and newer AWS regions.
### Expected behavior
Add support for the timestream-influxdb service endpoints exposed by AWS:
AWS CLI reference: https://docs.aws.amazon.com/cli/latest/reference/timestream-influxdb/
This would enable Telegraf users to write metrics into AWS Timestream even in regions where LiveAnalytics is not deployed or available to new customers.
### Actual behavior
In supported regions, accounts receive:
```
aws timestream-write describe-endpoints --region eu-central-1
An error occurred (AccessDeniedException) when calling the DescribeEndpoints operation:
Only existing Timestream for LiveAnalytics customers can access the service.
Reach out to AWS support, for more information.
```
Trying to use the plugin in regions where LiveAnalytics is not available leads to errors:
```
aws timestream-write describe-endpoints --region me-central-1
Could not connect to the endpoint URL: "https://ingest.timestream.me-central-1.amazonaws.com/"
```
The current implementation uses the AWS SDK’s Timestream Write client:
https://github.com/influxdata/telegraf/blob/467473bdb7087e42a5c1c11e63d64731883eb079/plugins/outputs/timestream/timestream.go#L17
### Additional info
Telegraf 1.36.4 (git: HEAD@467473bd)
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start in plugins/outputs/timestream/timestream.go, where the AWS SDK Timestream Write client is used, and compare its current endpoint flow with the AWS CLI timestream-influxdb reference. Done means the plugin can configure and use Timestream for InfluxDB endpoints and handles unavailable LiveAnalytics access gracefully.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- aws, go
- Domain
- backend, cloud
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100