-
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
[extension][ecsobserver] Init ECS Observer README #2377
Conversation
|
Codecov Report
@@ Coverage Diff @@
## main #2377 +/- ##
==========================================
- Coverage 90.63% 90.61% -0.02%
==========================================
Files 404 404
Lines 20012 20012
==========================================
- Hits 18137 18133 -4
- Misses 1416 1418 +2
- Partials 459 461 +2
Flags with carried forward coverage won't be shown. Click here to find out more.
Continue to review full report at Codecov.
|
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.
@pingleig are you still working on changes in response to original PR? Just wanted to make sure not blocked on me.
| cluster_name | Mandatory | target ECS cluster name for service discovery | | ||
| cluster_region | Mandatory | target ECS cluster's AWS region name | | ||
| refresh_interval | Optional | how often to look for changes in endpoints (default: 10s) | | ||
| result_file | Optional | path of YAML file for the scrape target results. When enabled, the observer always returns empty | |
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.
Can result_file
field be mandatory? Otherwise, what's purpose of observer?
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.
Changed to mandatory for now, it's not mandatory in the original PR because receiver creator is supported and the extension just returns the endpoint to observer listener. To reduce the size of PRs I plan to only implement the result file logic.
@jrcamp Sorry for the delay, I wasn't blocked on the comments in original PR. I was has having some internal discussion on the output format. The conclusion is we will be using |
|
ping @jrcamp |
- `make misspell` - Fix order of filter types, should be service, task defintion, docker label
Looks good, thanks for the thorough README! |
Can anyone with merge permission merge this PR? I think I don't need to do rebase on my fork because it's a README in a new folder and should not have any conflict. |
ping @jrcamp @bogdandrutu |
Bumps [github.com/google/uuid](https://github.com/google/uuid) from 1.1.4 to 1.1.5. - [Release notes](https://github.com/google/uuid/releases) - [Commits](google/uuid@v1.1.4...v1.1.5) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* ecsobserver: Init README * ecsobserver: Update output format to use __meta_ecs_ prefix * ecsobserver: Fix typo - `make misspell` - Fix order of filter types, should be service, task defintion, docker label
Signed-off-by: Anthony J Mirabella <a9@aneurysm9.com>
Description:
Follow up on #1920, this is the (slightly updated) doc for implementing service discovery (of scrape targets) for Prometheus receiver on Amazon Elastic Container (ECS). It's mainly based on the existing configuration & implementation we have in
amazon-cloudwatch-agent
There are three types of filter, we fetch all the tasks periodically and there is no server side filtering or list watch API.
The discovered targets are consumed in two ways, write as a static file for file sd, or use the receiver creator framework to create new receiver at runtime, based on #1395 the latter seems to have performance problem (especially when a single collector instance is used for scraping a large cluster w/o sharding)
There are some open items
discoverd_targets
,api_error_counts
etc. Should be able to use obsreportInstanceId
instead of generating meta label like__meta__ecs_task_arn__
,__meta_ec2_instance_id__
and have user configuring relabel config. The__meta__
approaches is the one used by all the in tree discovery implementations (k8s, consul etc.) (Chose to use__meta_ecs_
prefix)Link to tracking Issue: #1395
Testing:
N/A just the doc
Documentation:
A new README under
extensions/observer/ecsobserver