Using CloudWatch datasource with the new changes

I’m trying to understand how to use the cloudwatch datasource post 6.4.5. While I fully understand the decision to move away from GetMetricStatistics and start using GetMetricData (higher throughput, follows AWS best practices), I’m struggling to migrate as the amount of queries is simply too many for GetMetricData to handle.

Using EC2 CPU Utilization monitoring as an example:
In order to monitor all of the instances, which are spinning up and down frequently, whose ID’s are changing, you want to use variables. Using a query such as “ec2_instance_attribute($region, InstanceId, {“instance-state-name”: “running”})” I get the IDs of all the running instances. Now to generate the graph using a single query I have two options post 6.4.5, either I use * in Dimensions, or I use the variable with All selected. Neither of these work however, because the * approach triggers the metric limit of 500, and the variable with All selected approach triggers the “search term is over 1024 characters” validation error.
Whereas, on 6.4.5 if I just use the variable with All selected approach, it just works.

This problem is present with multiple resources, lambdas, rds, sqs, sns etc.

Is there a different approach that can be taken which I am missing, or has 6.5 essentially killed off large aws infra monitoring with cloudwatch?

1 Like

I have the exact same issue, did you find a good workaround for this?

Nope, we’ve version locked ourselves to 6.4.4 and will be moving to another graphing tool as soon as we have the time

Sounds like you have the same problem as in this issue: https://github.com/grafana/grafana/issues/21496

If you are struggling that much, could you open an issue on GitHub with some examples and we will try and fix it.