mohammed arbib
mohammed arbib

Reputation: 11

Create cloudwatch alarm with multiple metrics and math expression (python3)

Here is an example of how to create cloudwatch alarm using too many metrics and Math expression using boto3. asg_name : autoscaling group name

import boto3
cloudwatch = boto3.client('cloudwatch', region_name="eu-west-1")
def create_cloudwatch_alarm(asg_name):
    cloudwatch.put_metric_alarm(
        ActionsEnabled=True,
        AlarmName=asg_name,
        ComparisonOperator='GreaterThanThreshold',
        DatapointsToAlarm=3,
        EvaluationPeriods=3,
        Metrics=[{'Expression': 'IF(m1 > m2, 1, 0)',
                  'Id': 'e2',
                  'Label': 'Compare Running vs desired capacity',
                  'ReturnData': True},
                 {'Id': 'm1',
                  'MetricStat': {'Metric': {'Dimensions': [{'Name': 'AutoScalingGroupName',
                                                            'Value': asg_name}],
                                            'MetricName': 'GroupDesiredCapacity',
                                            'Namespace': 'AWS/AutoScaling'},
                                 'Period': 300,
                                 'Stat': 'Average'},
                  'ReturnData': False},
                 {'Id': 'm2',
                  'MetricStat': {'Metric': {'Dimensions': [{'Name': 'AutoScalingGroupName',
                                                            'Value': asg_name}],
                                            'MetricName': 'GroupInServiceInstances',
                                            'Namespace': 'AWS/AutoScaling'},
                                 'Period': 300,
                                 'Stat': 'Average'},
                  'ReturnData': False}],
        Threshold=0.1,
        TreatMissingData='missing'
    )

Upvotes: 1

Views: 2149

Answers (1)

J.Luan
J.Luan

Reputation: 287

According AWS's documentation, you can only create alarm on up to 10 metrics with metrics math : https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Create-alarm-on-metric-math-expression.html

Upvotes: 1

Related Questions