

# 创建 CloudWatch 警报以监控 DAX
<a name="dax-creating-alarms"></a>

 您可以创建 Amazon CloudWatch 告警，在告警改变状态时发送 Amazon Simple Notification Service (Amazon SNS) 消息。告警会监控您指定的时间段内的某个指标。它在多个时间段内根据相对于给定阈值的指标值，执行一项或多项操作。操作是一个发送到 Amazon SNS 主题或 Auto Scaling 策略的通知。告警仅为持续状态更改调用操作。CloudWatch 告警将不会调用操作，因为这些操作处于特定状态。该状态必须已改变并在指定的若干个时间段内保持不变。

## 如何收到有关查询缓存未命中的通知？
<a name="dax-notify-reach-capacity"></a>

1. 创建 Amazon SNS 主题 `arn:aws:sns:us-west-2:522194210714:QueryMissAlarm`。

   有关更多信息，请参见 *Amazon CloudWatch 用户指南*的[设置 Amazon Simple Notification Service](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/US_SetupSNS.html)。

1. 创建告警。

   ```
   aws cloudwatch put-metric-alarm \
       --alarm-name QueryCacheMissesAlarm  \
       --alarm-description "Alarm over query cache misses" \
       --namespace AWS/DAX \
       --metric-name QueryCacheMisses  \
       --dimensions Name=ClusterID,Value=myCluster \
       --statistic Sum \
       --threshold 8 \
       --comparison-operator GreaterThanOrEqualToThreshold \
       --period 60 \
       --evaluation-periods 1 \
       --alarm-actions arn:aws:sns:us-west-2:522194210714:QueryMissAlarm
   ```

1. 测试告警。

   ```
   aws cloudwatch set-alarm-state --alarm-name QueryCacheMissesAlarm --state-reason "initializing" --state-value OK
   ```

   ```
   aws cloudwatch set-alarm-state --alarm-name QueryCacheMissesAlarm --state-reason "initializing" --state-value ALARM
   ```

**注意**  
 您可以将阈值增加或减少到对您的应用程序有意义的值。此外，还可以使用 [CloudWatch 指标数学](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/using-metric-math.html)定义一个缓存未命中率指标，然后设置超出该指标的告警。

## 如果请求导致集群中发生内部错误，如何收到通知？
<a name="dax-notify-system-errors"></a>

1. 创建 Amazon SNS 主题 `arn:aws:sns:us-west-2:123456789012:notify-on-system-errors`。

   有关更多信息，请参见 *Amazon CloudWatch 用户指南*的[设置 Amazon Simple Notification Service](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/US_SetupSNS.html)。

1. 创建告警。

   ```
   aws cloudwatch put-metric-alarm \
       --alarm-name FaultRequestCountAlarm \
       --alarm-description "Alarm when a request causes an internal error" \
       --namespace AWS/DAX \
       --metric-name FaultRequestCount \
       --dimensions Name=ClusterID,Value=myCluster \
       --statistic Sum \
       --threshold 0 \
       --comparison-operator GreaterThanThreshold \
       --period 60 \
       --unit Count \
       --evaluation-periods 1 \
       --alarm-actions arn:aws:sns:us-east-1:123456789012:notify-on-system-errors
   ```

1. 测试告警。

   ```
   aws cloudwatch set-alarm-state --alarm-name FaultRequestCountAlarm --state-reason "initializing" --state-value OK
   ```

   ```
   aws cloudwatch set-alarm-state --alarm-name FaultRequestCountAlarm --state-reason "initializing" --state-value ALARM
   ```