Add Alarm to Synthetic Canary via CloudFormation?


I'm trying to add a CloudWatch alarm to my Synthetic Canary using AWS CloudFormation template.

The problem is that there is no property to set a CloudWatch alarm on a canary:

I know that in the console one can set alarms in a canary. Can this be achieved via Cloud Formation with somehow linking the alarm and canary?

asked 2 years ago339 views
2 Answers
Accepted Answer

I was able to link an alarm to a canary with the "Dimensions CanaryName" property within the alarm (example below). Although in the UI console it does not show linkage in configuration section, the canary does detect if the alarm is triggered and displays the specific alarm in the Alarms column.

Note: The CanaryName value must match the value of the Name property from the Canary

    Type: AWS::CloudWatch::Alarm  
      AlarmDescription: "Synthetics alarm metric: Failed  GreaterThanOrEqualToThreshold 1"  
      MetricName: Failed  
      Namespace: CloudWatchSynthetics  
        - Name: CanaryName  
          Value: mycanary  
      Period: 900  
      EvaluationPeriods: 1  
      Statistic: Average  
      ComparisonOperator: GreaterThanOrEqualToThreshold  
      Threshold: 1.0  
      TreatMissingData: notBreaching  
      ActionsEnabled: true
answered 2 years ago

Synthetics canaries don't have alarms, but the console allows you to automatically create CloudWatch alarms which monitor them. You can add CloudWatch alarms to your CloudFormation stack which monitor the success metrics emitted by your canary.

answered 2 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