-
Notifications
You must be signed in to change notification settings - Fork 2.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
New component: AWS S3 Receiver #30750
Comments
I'm interested to learn more. Would this be something you'd be able to checkpoint on? |
@atoulme certainly, it's something I'm actively looking into at the moment it so makes sense to me get a second opinion on the best way to implement this and hopefully accepted. |
For all components, we tend to work with folks through CONTRIBUTING.md. The question I asked you earlier is in earnest - one of the thorny issues around a component reading from a remote source is to have a checkpoint mechanism that allows you to know where you stopped. We can use the storage extension for that purpose. I am happy to sponsor this component if you'd like to work on it. |
Ahh, I understand now! Thank you for clarification and yes that is an issue I have been thinking about - how best to signal that ingest is finished. I'll look into the storage extension and get a PR up with the skeleton of the receiver. |
Hi, apologies I may be hijacking this thread. Has there been any thought around integrating the S3 receiver, with SQS and S3 Event notifications ? Our use case is we cannot directly write to an OTEL reciever in all cases, however we can write to a S3 bucket. We would then like the object event notification to notify SQS, where we could have a OTEL collector (or set of them) "listening" and on notification fetch the uploaded file and then output it into hte OTLP backend store. We coudl then also retain the source data in S3 and leverage the current features of this reciever to replay data if required. An example sender may look something like:
The reciever could poss look something like:
Thoughts ? S3 Event Notifications: https://docs.aws.amazon.com/AmazonS3/latest/userguide/EventNotifications.html |
It would be nice to be able to have this run continuously instead of specifying start/end times. This would help with shipping traces across clusters/accounts. flowchart LR
subgraph env1
app1 --> env1-collector
app2 --> env1-collector
end
env1-collector --> S3[(S3)]
subgraph env2
app3 --> env2-collector
app4 --> env2-collector
end
env2-collector --> S3
subgraph shared-env
S3 --> shared-collector
end
|
Fully agree, we also have scenarios where a receiver should constantly process new uploads (from S3Exporter) on an S3 bucket. Means without specifying starttime and endtime but having a checkpoint where it last stopped reading. |
@awesomeinsight / @rhysxevans - I see no reason why the receiver could not be expanded to include the scenario you suggest. At the moment I'm focusing on getting the initial implementation merged which focuses on my main use case of restoring data between a set of dates. |
If the receiver would be expanded at some point to constantly process new uploads made by the S3Exporter, could it be used to buffer data independently of a file system? The idea would be to have an alternative to https://github.com/open-telemetry/opentelemetry-collector/tree/main/exporter/exporterhelper#persistent-queue. The idea is to have a resilient setup of exporters + importers (with s3 in between as buffer) which run stateless, as they would not require any filesystem to buffer data to disks. Do you think a setup like this would make sense? |
**Description:** This is the initial implementation of the AWS S3 receiver. The receiver can load trace from an S3 bucket starting at the configured time until the stop time. Json and protobuf formats are supported along with gzip compression. **Link to tracking Issue:** #30750 **Testing:** Unit tests added and read real trace from an S3 bucket. **Documentation:** None added --------- Co-authored-by: Antoine Toulme <antoine@toulme.name>
**Description:** Add support for receiving Logs and Metrics using the AWS S3 Receiver **Link to tracking Issue:** #30750 **Testing:** New unit tests added for Logs and Metrics
This issue has been inactive for 60 days. It will be closed in 60 days if there is no activity. To ping code owners by adding a component label, see Adding Labels via Comments, or if you are unsure of which component this issue relates to, please ping |
One more use-case I see is exporting CloudWatch Metrics metrics to S3 with CloudWatch Metric Streams and then reading them with |
@taraspos - Interesting suggestion and certainly possible when the ability to process new objects being added to the bucket is implemented. |
**Description:** Remove use of deprecated AWS SDK v2 Endpoint resolver API **Link to tracking Issue:** #30750 **Testing:** Tested against a locally running localstack instance. **Documentation:** N/A
Hello, is there any simple way to debug the component or make it more verbose? |
@limberger Were these JSON file written to the bucket using the AWS S3 Exporter? If not you need to ensure that you're following the same conventions that the S3 exporter uses for naming the objects written to the bucket. |
**Description:** Enhance the logging of the AWS S3 Receiver in normal operation to make it easier for user to debug what is happening. **Link to tracking Issue:** #30750 **Testing:** Confirmed that logging appears when run as part of the full collector build. **Documentation:** N/A
**Description:** Enhance the logging of the AWS S3 Receiver in normal operation to make it easier for user to debug what is happening. **Link to tracking Issue:** open-telemetry#30750 **Testing:** Confirmed that logging appears when run as part of the full collector build. **Documentation:** N/A
This issue has been inactive for 60 days. It will be closed in 60 days if there is no activity. To ping code owners by adding a component label, see Adding Labels via Comments, or if you are unsure of which component this issue relates to, please ping |
…telcontribcol (open-telemetry#35809) #### Description Mark awss3receiver as alpha and enable it in the otelcontribcol #### Link to tracking issue Closes open-telemetry#30750
…telcontribcol (open-telemetry#35809) #### Description Mark awss3receiver as alpha and enable it in the otelcontribcol #### Link to tracking issue Closes open-telemetry#30750
The purpose and use-cases of the new component
The S3 receiver will allow the retrieval and processing of telemetry data previously stored in S3 by the AWS S3 Exporter.
This will make it possible to retrieve data previously cold stored in S3 and allow us to investigate issues not reported within the time span data is available in our Observability service provider.
Example configuration for the component
Telemetry data types supported
Is this a vendor-specific component?
Code Owner(s)
adcharre
Sponsor (optional)
@atoulme
Additional context
No response
The text was updated successfully, but these errors were encountered: