feat: add ec2_sd_configs in ScrapeConfig #5902
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #5818
Not all fields are implemented, current change will support monitoring using API access and secret key
Description
Describe the big picture of your changes here to communicate to the maintainers why we should accept this pull request.
If it fixes a bug or resolves a feature request, be sure to link to that issue.
Add EC2 Service Discovery support in ScrapeConfig
This is how I tested the change:
Created an ec2 instance, added security group to open port 9100, installed node-exporter and run it
Attached the policy
AmazonEC2ReadOnlyAccess
to IAM credentials (reference)Created k8s secret with api access key and secret key
Created ScrapeConfig with EC2SDConfig
Relabelling was required because only public ip will be accessible to scrape target metrics
Result:
I added unit tests, I am exploring how to do e2e test using localstack but that will take some time to explore in free time
Type of change
What type of changes does your code introduce to the Prometheus operator? Put an
x
in the box that apply.CHANGE
(fix or feature that would cause existing functionality to not work as expected)FEATURE
(non-breaking change which adds functionality)BUGFIX
(non-breaking change which fixes an issue)ENHANCEMENT
(non-breaking change which improves existing functionality)NONE
(if none of the other choices apply. Example, tooling, build system, CI, docs, etc.)Changelog entry
Please put a one-line changelog entry below. This will be copied to the changelog file during the release process.