-
Notifications
You must be signed in to change notification settings - Fork 325
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
[request]: Monitoring account support #588
Comments
At a high level this makes sense. I have never worked with monitoring accounts, can you describe a little more how you would build the overall setup? How would you run the exporter (a single exporter for the whole account?) How would you collect, and at all the stages distinguish, the metrics from the different accounts? The account ID is not very memorable, how could we make it so that the metrics are labeled with something nicer when it's all done? |
We have the same desired use case as @clalbus — it aligns with suggested AWS best practices for AWS Organizations. AWS CloudWatch monitoring accounts is one example of the many supported solutions that follow the delegated admin account pattern For a
---
region: eu-west-1
metrics:
- aws_namespace: AWS/ELB
+ aws_account_id: 111111111111
+ aws_account_label: dev
aws_metric_name: RequestCount
aws_dimensions: [AvailabilityZone, LoadBalancerName]
aws_dimension_select:
LoadBalancerName: [myLB]
aws_statistics: [Sum]
- aws_namespace: AWS/ELB
+ aws_account_id: 222222222222
+ aws_account_label: qa
aws_metric_name: RequestCount
aws_dimensions: [AvailabilityZone, LoadBalancerName]
aws_dimension_select:
LoadBalancerName: [myLB]
aws_statistics: [Sum] The Without this feature, you would not be able to tell which account the metrics came from. But right now monitoring accounts are not supported at all, because we would need to add IncludeLinkedAccounts to the ListMetrics call. One thing I have not fully considered yet is how a configuration would look like in a multi account, multi region setup, which is supported by CloudWatch. I suppose you would have a configuration per region, though admittedly that's pretty repetitive. |
Sounds good, I think this is a good feature and a clean design. One thing I would add is that if |
I have a similar use case where I want to collect the metrics from a different AWS Account into our main account's Prometheus without the need to deploy an additional prometheus-cloudwatch-exporter instance that would assume the cross-account IAM role. Looking forward to monitoring-account support in prometheus-cloudwatch-exporter. |
Use case. Why is this important?
In multi account setup it is suggested to use monitoring accounts for easier metric access i.e. view multi account metrics through Cloudwatch in single account.
It is possible to filter metrics by account ID using
setAccountId(String accountId)
on MetricDataQuery when retrieving Cloudwatch metrics from monitoring account.However, the above applies only to users who use monitoring accounts.
WHY
We are picking up pace with multi account setup and would like to simplify Cloudwatch metric ingestion into Prometheus via monitoring account.
Not only it simplifies IAM management i.e. no more role/policy per account, but with account filtering it allows us to re-use existing Cloudwatch exporters (requiring simple config change).
How do you think the new configuration should look like?
Example:
The text was updated successfully, but these errors were encountered: