amazon-cloudwatchamazon-cloudwatch-metricscloudwatch-alarms

Cloudwatch Alarm across all dimensions based on metric name for custom metrics


We are publishing custom Cloudwatch metrics from our service and want to set up alarms if the value for a metric name breaches a threshold for any dimension. Here are the metrics we are publishing:

  1. Namespace=SameName, MetricName=Fault, Dimensions=[Operation=A, Program=ServiceName]
  2. Namespace=SameName, MetricName=Fault, Dimensions=[Operation=B, Program=ServiceName]
  3. Namespace=SameName, MetricName=Fault, Dimensions=[Operation=C, Program=ServiceName]

We want to set up an alarm so that a Fault across any dimension puts it into the Alarm state.

As you can see, the value for dimension Operation is different. Currently, we only have these 3 operations, so I understand we can use metric math to set up this alarm. But I am sure we will get to a point where this will keep growing.

I am able to use SEARCH expression + aggregate across search expression to generate a graph for it, but it does not let me create an alarm saying The expression for an alarm must include at least one metric.

Is there any other way I can achieve this?


Solution

  • Alarming directly on SEARCH is not supported yet. You would have to create a metric math expression where you list all 3 metrics, then create an expression that takes the max of the 3, like MAX(METRICS()). Make sure only the expression is marked as visible so that there is only 1 line on the graph.