-
Notifications
You must be signed in to change notification settings - Fork 4.9k
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 awsfargate module for AWS ECS Fargate #22034
Conversation
@kaiyan-sheng any reason this is a standalone module and note another metricset in |
@sorantis |
thanks for clarifying @kaiyan-sheng. Would this also translate to a standalone package? |
@sorantis I'm not sure on the package side. If it's one module map to one package, then this will be a standalone package. Do we have any package include more than one module? |
i think it'll result in a separate package simply because it requires different configuration. |
👍 |
💚 Flaky test reportTests succeeded. Expand to view the summary
Test stats 🧪
|
TODO/Questions:
|
Pinging @elastic/integrations-platforms (Team:Platforms) |
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.
looks good already! left some comments for now!
x-pack/metricbeat/module/awsfargate/task_stats/_meta/docs.asciidoc
Outdated
Show resolved
Hide resolved
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.
Looks great!
Dashboard is added in a separate PR: #22745 |
What does this PR do?
This PR is to add
awsfargate
module to collect monitoring metrics from AWS ECS Fargate task management endpoint for each container running under the same task as the Metricbeat is running.Note:
~internal~ecs~pause
container is skipped.Checklist
CHANGELOG.next.asciidoc
orCHANGELOG-developer.next.asciidoc
.How to test this PR locally
I created an AWS CloudFormation file to create a cluster, define IAM role, create a task definition, and start the actual service.
Create an Elastic cloud env for testing and store the credentials into AWS secret manager.
and
After storing the credentials into AWS secret manager, copy this file locally and copy the ARNs of these two secrets and put them into AWS CloudFormation yml file under
TaskDefinition
->ContainerDefinition
.Make sure to replace
<subnet-id>
with your own subnet in this command. Please go toServices -> VPC -> Subnets
to find subnet ID to use. You can also add several more containers under theTaskDefinition
section.Then you should see your task definition and cluster getting created, and containers start running in a minute or two.
Make sure there is no error log for the container and then go to Elastic Cloud to check for events from this module.
Clean up after test:
Note: dashboard is added in #22941
Sample Event Output
data.json
Screenshots
closes #22210