Reboot an instance, with a Cloud Watch Alarms based on custom metric

0

My EC2 instance periodically send a custom metric with :

aws cloudwatch put-metric-data  --namespace "CICD" --dimensions InstanceID="$MY_INSTANCEID" --metric-name "CICD_IS_UP" --unit Count --value "$is_up" --region eu-west-1

So the metric, in the namespace "CICD" contains the InstanceID and a CICD_IS_UP value (0 when down, 1 when up).

I want to have an automatic action to reboot the instance when the metric is 0 (CICD down !).

So, I created a CloudWatch ALARM :

  • I select the metric in CICD namespace
  • I define metric level etc...
  • Because the metric is defined with an InstanceID dimension, I can see the value of the Id in the "InstanceID" field of the metric wizzard
  • But on the "Configure Actions" step, the "EC2 Action" panel contains "This action is only available for EC2 Per-Instance Metrics" but it is greyed : I'm unable to add an EC2 action.

How can I enable EC2 action on a custom metric ? The metric have the InstanceID dimension, but CloudWatch Alarms seems to ignore it.

Edited by: JeromeF on Nov 29, 2019 4:58 AM

Edited by: JeromeF on Nov 29, 2019 4:59 AM

JeromeF
asked 4 years ago480 views
1 Answer
0

After double-double-checking on other AWS account, I found the problem : the dimension name for the instance must be spelled InstanceId, not InstanceID.

Strange behavior of the Create Alarm wizzard : it detects the instance ID even if it is spelled ID instead of Id. But the Action will not be enabled.

JeromeF
answered 4 years ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions