-
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
Add aws prometheus remote write exporter #1497
Add aws prometheus remote write exporter #1497
Conversation
c6e7e6c
to
a124c20
Compare
Merge branch 'add-aws-cortex-exporter' of github.com:open-o11y/opentelemetry-collector-contrib into add-aws-cortex-exporter
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
@amanbrar1999 any update on this? |
@bogdandrutu We are reviewing the design of this component internally, I will convert to draft for now and reopen when ready |
@amanbrar1999 I am fine if you want to have this discussion here, now that I have context on the change, up to you |
@bogdandrutu I have embedded the factories, but i'm not sure if it has become as simple as you expected. The closure function can not be added in
|
Not sure, in the closure you save a pointer to the config, and the closure runs after the config parsing, am I missing something?
True
Why? You can pass:
|
@bogdandrutu It all makes sense and works now, overriding |
* Move some content from correctness_test.go to utils.go This change makes these functions/types available from the metrics package, where they will be needed to address issue #652. * Add comments for exported types and fcns * Address PR comments * Fix lint
Description:
This PR introduces a new exporter that leverages the existing Prometheus Remote Write Exporter in the core collector repo, and adds AWS Sigv4 authentication logic to it.
The idea here is to add an interceptor to the http client that is used to initialize the Prometheus Remote Write Exporter struct. The interceptor handles the Sigv4 logic, and the rest of the logic is identical to the core exporter.
The way this is designed, any changes in the core exporter's config will need to be duplicated here, however any other changes in the core exporter should be fine.
This PRs size is significantly bloated by the go summary file
Link to tracking Issue:
No direct issue for this exists but it is related to vendor specific code discussion: open-telemetry/oteps#141
Testing:
Unit tests have been added for the factory and config. Testing the authentication logic has been done manually by setting up a pipeline to communicate with AWS services.
Documentation:
A thorough
README.md
is included, as well as all example configuration intestdata/config.yaml
-- cc @alolita