

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 使用 Amazon CloudWatch 來監控 DynamoDB 指標
<a name="Monitoring-metrics-with-Amazon-CloudWatch"></a>

您可以使用 CloudWatch 來監控 DynamoDB；該服務會收集並處理來自 DynamoDB 的原始資料，進而將這些資料轉換為便於讀取且幾近即時的指標。這些統計數字會保留一段時間，讓您可以存取歷史資訊，以更清楚 Web 應用程式或服務的執行效能。根據預設，系統會自動將 DynamoDB 指標資料傳送至 CloudWatch。如需詳細資訊，請參閱《*Amazon CloudWatch 使用者指南*》中的[什麼是 Amazon CloudWatch？](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/WhatIsCloudWatch.html)以及[指標保留](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#metrics-retention)。

**Topics**
+ [如何使用 DynamoDB 指標？](#How-do-I-use-DynamoDB-metrics)
+ [在 CloudWatch 主控台中檢視指標](#Viewing-metrics-in-CloudWatch-console)
+ [在 中檢視指標 AWS CLI](#Viewing-metrics-in-the-cli)
+ [DynamoDB 指標和維度](metrics-dimensions.md)
+ [在 DynamoDB 中建立 CloudWatch 警示](Monitoring-metrics-creating-cloudwatch-alarms.md)

## 如何使用 DynamoDB 指標？
<a name="How-do-I-use-DynamoDB-metrics"></a>

DynamoDB 回報的指標可提供能讓您以不同方式分析的資訊。下列清單顯示一些常見的指標用途。這些是協助您開始的建議，而不是完整清單。


**如何使用 DynamoDB 指標？**  

|  如何？  |  相關指標  | 
| --- | --- | 
|  如何監控資料表上的 TTL 刪除率？   |  您可以監控指定時段內的 `TimeToLiveDeletedItemCount`，以追蹤您資料表的 TTL 刪除率。如需使用 `TimeToLiveDeletedItemCount` 指標的無伺服器應用程式範例，請參閱[使用 DynamoDB 存留時間 (TTL) 搭配 AWS Lambda 和 Amazon Data Firehose 自動將項目封存至 S3](https://aws.amazon.com/blogs/database/automatically-archive-items-to-s3-using-dynamodb-time-to-live-with-aws-lambda-and-amazon-kinesis-firehose/)。  | 
|  如何判斷使用了多少佈建輸送量？  |  您可以監控指定時段內的 `ConsumedReadCapacityUnits` 或 `ConsumedWriteCapacityUnits`，以追蹤佈建輸送量的使用數量。  | 
|  如果判斷哪些請求超過資料表的佈建輸送量配額？  |  如果請求內的任何事件超過佈建輸送量的配額，則 `ThrottledRequests` 會增加 1。然後，若要深入了解哪些事件限流了請求，請將 `ThrottledRequests` 與資料表和其索引的 `ReadThrottleEvents` 與 `WriteThrottleEvents` 指標比較。  | 
|  如何判斷是否發生任何系統錯誤？  |  您可以監控 `SystemErrors`，以判斷是否有任何請求導致 HTTP 500 (伺服器錯誤) 代碼。這項指標通常應該等於零。否則建議您予以調查。  | 
|  如何監控資料表操作的延遲值？  |  您可以透過百分比指標 (p50) 追蹤平均延遲和中位數延遲來監控 `SuccessfulRequestLatency`。偶爾的延遲峰值無需擔心。不過，如果平均延遲或 p50 (中位數) 很高，則可能有您必須解決的基礎問題。如需詳細資訊，請參閱[對 Amazon DynamoDB 中的延遲問題進行疑難排解](TroubleshootingLatency.md)。  | 

## 在 CloudWatch 主控台中檢視指標
<a name="Viewing-metrics-in-CloudWatch-console"></a>

指標會先依服務命名空間分組，再依各命名空間內不同的維度組合分類。

**若要在 CloudWatch 主控台中檢視指標**

1. 在 [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/) 開啟 CloudWatch 主控台。

1. 在導覽窗格中，選擇**指標，所有指標**。

1. 選取 **DynamoDB** 命名空間。您也可以選擇**用途**命名空間來查看 DynamoDB 使用量指標。如需使用量指標的詳細資訊，請參閱[AWS 使用量指標](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Service-Quota-Integration.html)。

1. **Browse** (瀏覽) 索引標籤會顯示命名空間中該維度的所有指標。

1. (選用) 若要將指標圖表新增至 CloudWatch 儀表板，請選擇 **Actions, Add to dashboard** (動作，新增至儀表板)。

## 在 中檢視指標 AWS CLI
<a name="Viewing-metrics-in-the-cli"></a>

若要使用 取得指標資訊 AWS CLI，請使用 CloudWatch 命令 `list-metrics`。以下範例會列出 `AWS/DynamoDB` 命名空間中的所有指標。

```
1.                 aws cloudwatch list-metrics --namespace "AWS/DynamoDB"
```

若要取得指標統計數字，請使用 `get-metric-statistics` 命令。以下命令會取得資料表 `ProductCatalog` 在指定 24 小時期間的 `ConsumedReadCapacityUnits` 統計資料，精細程度為 5 分鐘。

```
aws cloudwatch get-metric-statistics —namespace AWS/DynamoDB \
     —metric-name ConsumedReadCapacityUnits \
     —start-time 2023-11-01T00:00:00Z \
     —end-time 2023-11-02T00:00:00Z \
     —period 360 \
     —statistics Average \
     —dimensions Name=TableName,Value=ProductCatalog
```

範例輸出如下所示：

```
{
    "Datapoints": [
        {
            "Timestamp": "2023-11-01T 09:18:00+00:00", 
            "Average": 20, 
            "Unit": "Count"
        }, 
        {
            "Timestamp": "2023-11-01T 04:36:00+00:00", 
            "Average": 22.5, 
            "Unit": "Count"
        }, 
        {
            "Timestamp": "2023-11-01T 15:12:00+00:00", 
            "Average": 20, 
            "Unit": "Count"
        }, ...
        {
            "Timestamp": "2023-11-01T 17:30:00+00:00", 
            "Average": 25, 
            "Unit": "Count"
        }
    ], 
    "Label": " ConsumedReadCapacityUnits "
}
```