Amazon cloudformation 如何使用CloudFormation在两个指标的总和上定义CloudWatch警报?
当两个不同队列上的相同度量值EnumberOfMessagesVisible的总和超过100时,我需要触发警报 2017年9月,answer表示,唯一的方法是使用Lambda函数获取两个值,并通过CloudWatch API将它们相加Amazon cloudformation 如何使用CloudFormation在两个指标的总和上定义CloudWatch警报?,amazon-cloudformation,amazon-cloudwatch,amazon-cloudwatch-metrics,Amazon Cloudformation,Amazon Cloudwatch,Amazon Cloudwatch Metrics,当两个不同队列上的相同度量值EnumberOfMessagesVisible的总和超过100时,我需要触发警报 2017年9月,answer表示,唯一的方法是使用Lambda函数获取两个值,并通过CloudWatch API将它们相加 在编写时,2月19日,它是可以使用的,因此不需要lambda函数或EC2实例。是否可以使用度量数学直接在CloudFormation中定义报警?实际上可以直接在CloudFormation中实现报警逻辑 假设有两个缩放策略ECSSCALEAUP和ECSSCALEA
在编写时,2月19日,它是可以使用的,因此不需要lambda函数或EC2实例。是否可以使用度量数学直接在CloudFormation中定义报警?实际上可以直接在CloudFormation中实现报警逻辑 假设有两个缩放策略ECSSCALEAUP和ECSSCALEADOWN,报警定义如下所示:
ECSWorkerSQSCumulativeAlarm:
Type: AWS::CloudWatch::Alarm
Properties:
AlarmName: !Join ['-', [!Ref 'MyService', 'SQSCumulativeAlarm']]
AlarmDescription: "Trigger ECS Service Scaling based on TWO SQS queues"
Metrics:
- Id: e1
Expression: "fq + sq"
Label: "Sum of the two Metrics"
- Id: fq
MetricStat:
Metric:
MetricName: ApproximateNumberOfMessagesVisible
Namespace: AWS/SQS
Dimensions:
- Name: QueueName
Value: !GetAtt [ FirstQueue, QueueName]
Period: 60
Stat: Average
Unit: Count
ReturnData: false
- Id: sq
MetricStat:
Metric:
MetricName: ApproximateNumberOfMessagesVisible
Namespace: AWS/SQS
Dimensions:
- Name: QueueName
Value: !GetAtt [ SecondQueue, QueueName]
Period: 60
Stat: Average
Unit: Count
ReturnData: false
EvaluationPeriods: 2
Threshold: 100
ComparisonOperator: GreaterThanThreshold
AlarmActions:
- !Ref ECSScaleUp
- !Ref ECSScaleDown
OKActions:
- !Ref ECSScaleUp
- !Ref ECSScaleDown
实际上,可以直接在云信息中实现报警逻辑 假设有两个缩放策略ECSSCALEAUP和ECSSCALEADOWN,报警定义如下所示:
ECSWorkerSQSCumulativeAlarm:
Type: AWS::CloudWatch::Alarm
Properties:
AlarmName: !Join ['-', [!Ref 'MyService', 'SQSCumulativeAlarm']]
AlarmDescription: "Trigger ECS Service Scaling based on TWO SQS queues"
Metrics:
- Id: e1
Expression: "fq + sq"
Label: "Sum of the two Metrics"
- Id: fq
MetricStat:
Metric:
MetricName: ApproximateNumberOfMessagesVisible
Namespace: AWS/SQS
Dimensions:
- Name: QueueName
Value: !GetAtt [ FirstQueue, QueueName]
Period: 60
Stat: Average
Unit: Count
ReturnData: false
- Id: sq
MetricStat:
Metric:
MetricName: ApproximateNumberOfMessagesVisible
Namespace: AWS/SQS
Dimensions:
- Name: QueueName
Value: !GetAtt [ SecondQueue, QueueName]
Period: 60
Stat: Average
Unit: Count
ReturnData: false
EvaluationPeriods: 2
Threshold: 100
ComparisonOperator: GreaterThanThreshold
AlarmActions:
- !Ref ECSScaleUp
- !Ref ECSScaleDown
OKActions:
- !Ref ECSScaleUp
- !Ref ECSScaleDown