AWS CloudFormation中的AWS::CloudWatch::Alarm资源类型可以用来创建CloudWatch警报。当多个维度被添加到一个警报中时,此资源类型可能无法正常工作。为了解决这个问题,可以使用AWS::CloudWatch::CompositeAlarm资源类型,它可以通过一个或多个指标,一个布尔逻辑表达式和/或多个警报来创建一个组合警报。以下是一个使用AWS::CloudWatch::CompositeAlarm来创建组合警报的简单示例:
Resources:
MyCompositeAlarm:
Type: AWS::CloudWatch::CompositeAlarm
Properties:
ActionsEnabled: true
AlarmActions: [ arn:aws:sns:us-east-1:111111111111:MySNSTopic ]
AlarmDescription: Description of my composite alarm
AlarmName: MyCompositeAlarm
AlarmRule: AND [
{ "Ref" : "MyFirstMetricAlarm" },
{ "Ref" : "MySecondMetricAlarm" }
]
OKActions: [ arn:aws:sns:us-east-1:111111111111:MySNSTopic ]
InsufficientDataActions: [ arn:aws:sns:us-east-1:111111111111:MySNSTopic ]
MyFirstMetricAlarm:
Type: AWS::CloudWatch::Alarm
Properties:
AlarmDescription: Description of my first metric alarm
AlarmName: MyFirstMetricAlarm
ComparisonOperator: GreaterThanThreshold
EvaluationPeriods: '1'
MetricName: MyMetric
Namespace: AWS/EC2
Period: '60'
Statistic: Average
Threshold: '100'
Dimensions:
- Name: InstanceId
Value: { "Ref" : "MyInstanceId" }
MySecondMetricAlarm:
Type: AWS::CloudWatch::Alarm
Properties:
AlarmDescription: Description of my second metric alarm
AlarmName: MySecondMetricAlarm
ComparisonOperator: LessThanThreshold
EvaluationPeriods: '1'
MetricName: