AWS::CloudWatch::Alarm - AWS CloudFormation
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

AWS::CloudWatch::Alarm

AWS::CloudWatch::Alarm 类型指定警报并将其与指定的指标或指标数学表达式关联。

在此操作创建警报时,警报状态将立即设置为 INSUFFICIENT_DATA。然后,将评估警报并正确设置其状态。然后执行与新状态关联的所有操作。

在更新现有警报时,其状态将保持不变,但更新将完全覆盖该警报之前的配置。

语法

要在 AWS CloudFormation 模板中声明此实体,请使用以下语法:

JSON

{ "Type" : "AWS::CloudWatch::Alarm", "Properties" : { "ActionsEnabled" : Boolean, "AlarmActions" : [ String, ... ], "AlarmDescription" : String, "AlarmName" : String, "ComparisonOperator" : String, "DatapointsToAlarm" : Integer, "Dimensions" : [ Dimension, ... ], "EvaluateLowSampleCountPercentile" : String, "EvaluationPeriods" : Integer, "ExtendedStatistic" : String, "InsufficientDataActions" : [ String, ... ], "MetricName" : String, "Metrics" : [ MetricDataQuery, ... ], "Namespace" : String, "OKActions" : [ String, ... ], "Period" : Integer, "Statistic" : String, "Threshold" : Double, "ThresholdMetricId" : String, "TreatMissingData" : String, "Unit" : String } }

YAML

Type: AWS::CloudWatch::Alarm Properties: ActionsEnabled: Boolean AlarmActions: - String AlarmDescription: String AlarmName: String ComparisonOperator: String DatapointsToAlarm: Integer Dimensions: - Dimension EvaluateLowSampleCountPercentile: String EvaluationPeriods: Integer ExtendedStatistic: String InsufficientDataActions: - String MetricName: String Metrics: - MetricDataQuery Namespace: String OKActions: - String Period: Integer Statistic: String Threshold: Double ThresholdMetricId: String TreatMissingData: String Unit: String

属性

ActionsEnabled

指示在对警报状态进行任何更改期间是否应执行操作。默认值为 TRUE。

必需:否

类型:布尔值

Update requires: No interruption

AlarmActions

当此警报从任何其他状态转换为 ALARM 状态时,要执行的操作列表。将每个操作指定为一个 Amazon 资源名称 (ARN)。有关创建警报以及可指定的操作的更多信息,请参阅 Amazon CloudWatch API 参考 中的 PutMetricAlarm

必需:否

类型:字符串列表

最高5

Update requires: No interruption

AlarmDescription

警报的描述。

必需:否

类型:字符串

最低0

最高1024

Update requires: No interruption

AlarmName

警报的名称。如果不指定名称,AWS CloudFormation 会生成一个唯一的物理 ID 并将该 ID 用作警报名称。

重要

如果指定一个名称,您将无法执行需要替换该资源的更新。您可以执行不需要或者只需要部分中断的更新。如果必须替换资源,请指定新名称。

必需:否

类型:字符串

最低1

最高255

Update requires: Replacement

ComparisonOperator

将指定统计数据与阈值进行比较时使用的算术运算。指定的统计值将用作第一个操作数。

您可以指定以下值:GreaterThanThresholdGreaterThanOrEqualToThresholdLessThanThresholdLessThanOrEqualToThreshold

必需:是

类型:字符串

允许的值GreaterThanOrEqualToThreshold | GreaterThanThreshold | GreaterThanUpperThreshold | LessThanLowerOrGreaterThanUpperThreshold | LessThanLowerThreshold | LessThanOrEqualToThreshold | LessThanThreshold

Update requires: No interruption

DatapointsToAlarm

在触发警报时必须达到的违例数据点数。只有在设置“N 个数据点中的 M 个数据点”警报时,才会使用该属性。在这种情况下,该值是 M。有关更多信息,请参阅 Amazon CloudWatch 用户指南 中的评估警报

必需:否

类型:整数

最低1

Update requires: No interruption

Dimensions

与警报关联的指标的维度。对于基于数学表达式的警报,您无法指定 Dimensions。您可以改为使用 Metrics

必需:否

类型Dimension 的列表

最高10

Update requires: No interruption

EvaluateLowSampleCountPercentile

仅用于基于百分位的警报。如果为 ignore,则在数据点太少而无统计意义的时段内,警报状态不会发生变化。如果为 evaluate 或未使用此参数,则将始终评估警报,并且无论有多少可用数据点,都可能会更改状态。

必需:否

类型:字符串

最低1

最高255

Update requires: No interruption

EvaluationPeriods

其间的数据将与指定阈值进行比较的期间数。

必需:是

类型:整数

最低1

Update requires: No interruption

ExtendedStatistic

与警报关联的指标的百分位数统计数据。指定介于 p0.0 到 p100 之间的值。

对于基于数学表达式的警报,您无法指定 ExtendedStatistic。您可以改为使用 Metrics

必需:否

类型:字符串

模式p(\d{1,2}(\.\d{0,2})?|100)

Update requires: No interruption

InsufficientDataActions

当此警报从任何其他状态转换为 INSUFFICIENT_DATA 状态时,要执行的操作。每个操作都被指定为一个Amazon 资源名称 (ARN)。

必需:否

类型:字符串列表

最高5

Update requires: No interruption

MetricName

与警报关联的指标的名称。这是基于指标的警报所必需的。对于基于数学表达式的警报,您应改为使用 Metrics,并且无法指定 MetricName

必需:否

类型:字符串

最低1

最高255

Update requires: No interruption

Metrics

让您能够根据指标数学表达式的结果创建警报的数组。数组中的每个项目都可以检索指标或执行数学表达式。

如果您指定了 Metrics 参数,则无法指定 MetricNameDimensionsPeriodNamespaceStatisticExtendedStatisticUnit

必需:否

类型MetricDataQuery 的列表

Update requires: No interruption

Namespace

与警报关联的指标的命名空间。这是基于指标的警报所必需的。对于基于数学表达式的警报,您无法指定 Namespace,而应改为使用 Metrics

必需:否

类型:字符串

最低1

最高255

模式[^:].*

Update requires: No interruption

OKActions

当此警报从任何其他状态转换为 OK 状态时,要执行的操作。每个操作都被指定为一个Amazon 资源名称 (ARN)。

必需:否

类型:字符串列表

最高5

Update requires: No interruption

Period

以秒为单位的周期 - 每经过该时长,即应用统计数据。这是基于指标的警报所必需的。有效值为 10、30、60,以及 60 的任何倍数。

对于基于数学表达式的警报,您无法指定 Period,而应改为使用 Metrics 参数。

必需:否

类型:整数

最低1

Update requires: No interruption

Statistic

与警报关联的指标的统计数据,而不是百分位数。对于百分位数统计数据,请使用 ExtendedStatistic

对于基于数学表达式的警报,您无法指定 Statistic。您可以改为使用 Metrics

必需:否

类型:字符串

允许的值Average | Maximum | Minimum | SampleCount | Sum

Update requires: No interruption

Threshold

要与指定的统计数据进行比较的值。

必需:否

类型:双精度

Update requires: No interruption

ThresholdMetricId

在基于异常检测模型的警报中,这是用作警报阈值的 ANOMALY_DETECTION_BAND 功能的 ID。

必需:否

类型:字符串

最低1

最高255

Update requires: No interruption

TreatMissingData

设置该警报应如何处理缺失数据点。有效值为 breachingnotBreachingignoremissing。有关更多信息,请参阅 Amazon CloudWatch 用户指南 中的配置 CloudWatch 警报处理缺失数据的方式

如果忽略此参数,则使用 missing 的默认行为。

必需:否

类型:字符串

最低1

最高255

Update requires: No interruption

Unit

与警报关联的指标的单位。仅当您在基于单个指标创建警报时指定此项。如果您在指定 Metrics 数组,请不要指定此项。

您可以指定以下值:Seconds、Microseconds、Milliseconds、Bytes、Kilobytes、Megabytes、Gigabytes、Terabytes、Bits、Kilobits、Megabits、Gigabits、Terabits、Percent、Count、Bytes/Second、Kilobytes/Second、Megabytes/Second、Gigabytes/Second、Terabytes/Second、Bits/Second、Kilobits/Second、Megabits/Second、Gigabits/Second、Terabits/Second、Count/Second 或 None。

必需:否

类型:字符串

允许的值Bits | Bits/Second | Bytes | Bytes/Second | Count | Count/Second | Gigabits | Gigabits/Second | Gigabytes | Gigabytes/Second | Kilobits | Kilobits/Second | Kilobytes | Kilobytes/Second | Megabits | Megabits/Second | Megabytes | Megabytes/Second | Microseconds | Milliseconds | None | Percent | Seconds | Terabits | Terabits/Second | Terabytes | Terabytes/Second

Update requires: No interruption

返回值

Ref

在将此资源的逻辑 ID 传递给内部 Ref 函数时,Ref 返回 警报名称,例如 TestAlarm

For more information about using the Ref function, see Ref.

Fn::GetAtt

Fn::GetAtt 内部函数返回此类型的一个指定属性的值。以下为可用属性和示例返回值。

有关使用 Fn::GetAtt 内部函数的更多信息,请参阅 Fn::GetAtt

Arn

CloudWatch 警报的 ARN,例如 arn:aws:cloudwatch:us-west-2:123456789012:alarm:myCloudWatchAlarm-CPUAlarm-UXMMZK36R55Z

示例

基于异常探测器的警报

此示例创建基于异常探测器的警报。

JSON

"Resources": { "LambdaInvocationsAnomalyDetector": { "Type": "AWS::CloudWatch::AnomalyDetector", "Properties": { "MetricName": "Invocations", "Namespace": "AWS/Lambda", "Statistic": "Sum" } }, "LambdaInvocationsAlarm": { "Type": "AWS::CloudWatch::Alarm", "Properties": { "AlarmDescription": "Lambda invocations", "AlarmName": "LambdaInvocationsAlarm", "ComparisonOperator": "LessThanLowerOrGreaterThanUpperThreshold", "EvaluationPeriods": 1, "Metrics": [ { "Expression": "ANOMALY_DETECTION_BAND(m1, 2)", "Id": "ad1" }, { "Id": "m1", "MetricStat": { "Metric": { "MetricName": "Invocations", "Namespace": "AWS/Lambda" }, "Period": 86400, "Stat": "Sum" } } ], "ThresholdMetricId": "ad1", "TreatMissingData": "breaching" } } }

YAML

Resources: LambdaInvocationsAnomalyDetector: Type: AWS::CloudWatch::AnomalyDetector Properties: MetricName: Invocations Namespace: AWS/Lambda Stat: Sum LambdaInvocationsAlarm: Type: AWS::CloudWatch::Alarm Properties: AlarmDescription: Lambda invocations AlarmName: LambdaInvocationsAlarm ComparisonOperator: LessThanLowerOrGreaterThanUpperThreshold EvaluationPeriods: 1 Metrics: - Expression: ANOMALY_DETECTION_BAND(m1, 2) Id: ad1 - Id: m1 MetricStat: Metric: MetricName: Invocations Namespace: AWS/Lambda Period: !!int 86400 Stat: Sum ThresholdMetricId: ad1 TreatMissingData: breaching

另请参阅