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
preguntada hace 4 años489 visualizaciones
1 Respuesta
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
respondido hace 4 años

No has iniciado sesión. Iniciar sesión para publicar una respuesta.

Una buena respuesta responde claramente a la pregunta, proporciona comentarios constructivos y fomenta el crecimiento profesional en la persona que hace la pregunta.

Pautas para responder preguntas