I'd like to attach a single "catch all" CPUUtilization metric alarm to all EC2 instances currently or in future deployed to an account. The use case would be something like "tell me if any running instance exceeds 90% CPU". I don't think this is possible, but would like to rule it out before implementing something more complex.
I recall reading somewhere that there is a minimum set of dimensions required on an EC2 alarm but can't find that document again. The answer to https://repost.aws/questions/QU5oxWWfePRF-FCJ3UvoeN2Q/create-one-cloudwatch-alarm-for-multiple-instances also suggests this isn't possible, but is a slightly different question in that it's asking about a) on-prem and b) a defined subset of instances rather than all.
When deploying alarms through the console it is necessary to select an instance since CPUUtilization is an instance level metric. It is possible though to deploy a CPUUtilization alarm without any dimensions using CloudFormation (dimensions is not a mandatory field), but the alarm then remains in a perpetual state of INSUFFICIENT_DATA.
Thanks in advance for any insight you're able to offer.
Thank you. Perhaps I did something wrong. Will check.
Sorry, probably a dumb question, but where are you finding "Across All Instances"? I'm most likely looking in the wrong place (Console > CloudWatch > Alarms > Create Alarm > Browse > EC2).
Found it. Needs detailed monitoring enabling on the instances: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/GetSingleMetricAllDimensions.html