

# 创建使用挂钟评估时间窗口的指标警报
<a name="Create_WallClock_Alarm"></a>

您可以创建一个指标警报，使其评估窗口与挂钟边界对齐，而不是滑动窗口。有关挂钟窗口的工作原理以及何时使用它们的信息，请参阅[挂钟时间窗口](alarm-evaluation-window.md#wall-clock-window)。

## 使用 AWS Management Console 创建挂钟警报
<a name="wall-clock-alarm-create-console"></a>

此示例演示如何创建使用 1 小时挂钟窗口的警报。

**创建挂钟警报**

1. 访问 [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/)，打开 CloudWatch 控制台。

1. 在导航窗格中，依次选择 **Alarms（警报）**和 **All alarms（所有警报）**。

1. 选择**Create alarm（创建警报）**。

1. 选择**选择指标**，选中需要监控的指标，然后选择**选择指标**。

1. 在**指标**下的**周期**中，选择支持挂钟窗口的周期：**1 minute**、**5 minutes**、**1 hour**、**1 day** 或 **1 week**。

1. 在**条件**下，为您的警报配置阈值和比较运算符。

1. 在**评估窗口**中选择**挂钟窗口**。
**注意**  
如果您看不到**评估窗口**选项，则表示您选择的指标类型或周期不支持挂钟窗口。挂钟窗口不适用于高分辨率警报、复合警报或 PromQL 警报，并且仅适用于 1 分钟、5 分钟、1 小时、1 天或 1 周的周期。

1. 对于**时区**，请选择时区。警报会将其评估窗口与该时区的时钟边界保持一致。如果不选择时区，CloudWatch 将使用 `UTC`。有关时区如何影响挂钟边界的详细信息，请参阅[时区与夏令时](alarm-evaluation-window.md#wall-clock-timezone)。

1. 根据需要配置通知和操作，然后选择**下一步**。

1. 输入警报的名称和描述，然后选择**下一步**。

1. 检查警报配置并选择**创建警报**。

## 创建挂钟警报（AWS CLI）
<a name="wall-clock-alarm-create-cli"></a>

使用 [PutMetricAlarm](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_PutMetricAlarm.html) API 操作创建或更新带有 `EvaluationWindow` 的指标警报。将 `WallClockWindow` 设置为将警报与挂钟边界保持一致，或将 `SlidingWindow` 设置为使用默认的滑动行为。如果省略 `EvaluationWindow` 参数，则警报将使用滑动窗口。

**Example 创建使用 1 小时挂钟窗口的警报**  
此警报评估 `UTC` 时区中最近一个已完成的整点小时。要与不同的时区对齐，请在 `WallClockWindow` 上设置 `Timezone`。  

```
aws cloudwatch put-metric-alarm \
  --alarm-name HourlyCpuAlarm \
  --metric-name CPUUtilization \
  --namespace AWS/EC2 \
  --statistic Average \
  --period 3600 \
  --evaluation-periods 1 \
  --threshold 80 \
  --comparison-operator GreaterThanThreshold \
  --dimensions Name=InstanceId,Value=i-1234567890abcdef0 \
  --evaluation-window '{"WallClockWindow":{}}'
```

**Example 创建与特定时区保持一致的每日警报**  
此警报会评估 `America/New_York` 时区中的每个日历日。系统会自动处理夏令时切换。  

```
aws cloudwatch put-metric-alarm \
  --alarm-name DailyBackupCheck \
  --metric-name SuccessfulBackups \
  --namespace MyApplication \
  --statistic Sum \
  --period 86400 \
  --evaluation-periods 1 \
  --threshold 1 \
  --comparison-operator LessThanThreshold \
  --evaluation-window '{"WallClockWindow":{"Timezone":"America/New_York"}}'
```

**Example 在 UTC 时区中创建每周警报**  
此警报评估每个日历周（UTC 星期一 00:00 至下一个星期一 00:00）。  

```
aws cloudwatch put-metric-alarm \
  --alarm-name WeeklyComplianceCheck \
  --metric-name ComplianceFailures \
  --namespace MyApplication \
  --statistic Sum \
  --period 604800 \
  --evaluation-periods 1 \
  --threshold 0 \
  --comparison-operator GreaterThanThreshold \
  --evaluation-window '{"WallClockWindow":{}}'
```

**Example 将现有警报切换回滑动窗口**  
将 `EvaluationWindow` 设置为 `SlidingWindow`，可使更改显式化。也可以省略参数，效果相同。  

```
aws cloudwatch put-metric-alarm \
  --alarm-name HourlyCpuAlarm \
  --metric-name CPUUtilization \
  --namespace AWS/EC2 \
  --statistic Average \
  --period 3600 \
  --evaluation-periods 1 \
  --threshold 80 \
  --comparison-operator GreaterThanThreshold \
  --dimensions Name=InstanceId,Value=i-1234567890abcdef0 \
  --evaluation-window '{"SlidingWindow":{}}'
```

## 查看现有警报的评估窗口
<a name="wall-clock-alarm-view"></a>

使用 [DescribeAlarms](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_DescribeAlarms.html) API 操作检索警报的评估窗口配置。当警报使用挂钟窗口时，`EvaluationWindow` 字段将包含在响应中。如果该字段不存在，则警报将使用滑动窗口。

```
aws cloudwatch describe-alarms \
  --alarm-names HourlyCpuAlarm
```

您还可以在警报详细信息页面上的 AWS Management Console 中查看评估窗口。