

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

# 檢視公有託管區域的 DNS 查詢指標
<a name="hosted-zone-public-viewing-query-metrics"></a>

您可以針對 Route 53 回應指定的公有託管區域或公有託管區域組合來檢視 DNS 查詢總數。指標會出現在 CloudWatch 中，可讓您檢視圖形、選擇您要檢視的時段，以及以各種其他方式自訂指標。您也可以建立警示和設定通知，以便在指定期間內 DNS 查詢數量超過或低於指定層級時收到通知。

**注意**  
Route 53 會自動針對所有公有託管區域，將 DNS 查詢數量傳送至 CloudWatch，因此您不需要設定任何項目，即可檢視查詢指標。DNS 查詢指標無須付費。

**會將哪些 DNS 查詢列入計算？**  
指標只包含 DNS 解析程式轉送至 Route 53 的查詢。如果 DNS 解析程式已快取對查詢的回應 (如 example.com 的負載平衡器的 IP 地址)，解析程式會繼續傳回快取的回應而不將查詢轉送到 Route 53，直到對應記錄的 TTL 到期為止。  
根據為網域名稱 (example.com) 或子網域名稱 (www.example.com) 提交的 DNS 查詢數量、使用者正在使用的解析程式，以及記錄的 TTL，DNS 查詢指標可能只包含提交到 DNS 解析程式的數千個查詢中的一個查詢的資訊。如需 DNS 運作方式的詳細資訊，請參閱 [Amazon Route 53 如何為您的網域路由流量](welcome-dns-service.md#welcome-dns-service-how-route-53-routes-traffic)。

**託管區域的查詢指標何時開始出現在 CloudWatch 中？**  
建立託管區域之後，會延遲幾個小時，之後託管區域才會出現在 CloudWatch 中。此外，您必須提交託管區域中記錄的 DNS 查詢，才能顯示資料。

**指標僅在美國東部 (維吉尼亞北部) 區域提供。**  
若要在控制台上取得該指標，您必須選擇美國東部 (維吉尼亞北部) 區域。若要使用 CLI AWS 取得指標，您必須讓 AWS 區域保持未指定狀態，或指定 `us-east-1`做為區域。如果您選擇任何其他區域，Route 53 指標將無法使用。

**DNS 查詢的 CloudWatch 指標和維度**  
如需 DNS 查詢的 CloudWatch 指標和維度的詳細資訊，請參閱 [使用 Amazon CloudWatch 監控託管區域](monitoring-hosted-zones-with-cloudwatch.md)。如需 CloudWatch 指標的資訊，請參閱 *Amazon CloudWatch 使用者指南*中的[使用 Amazon CloudWatch 指標](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/working_with_metrics.html)。

**取得關於 DNS 查詢的詳細資訊**  
若要取得 Route 53 回應之每個 DNS 查詢的詳細資訊 (包括下列值)，您可以設定查詢記錄：  
+ 請求的網域或子網域
+ 請求的日期和時間
+ DNS 記錄類型 (例如 A 或 AAAA)
+ 回應 DNS 查詢的 Route 53 節點
+ DNS 回答代碼，例如 `NoError` 或 `ServFail`
如需詳細資訊，請參閱[公有 DNS 查詢日誌記錄](query-logs.md)。

**如何取得 DNS 查詢指標**  
在您建立託管區域之後不久，Amazon Route 53 會每分鐘將指標和維度傳送到 CloudWatch 一次。您可以使用下列程序在 CloudWatch 主控台上檢視指標，或使用 AWS Command Line Interface () 檢視指標AWS CLI。

**Topics**
+ [在 CloudWatch 主控台中檢視公有託管區域的 DNS 查詢指標](#hosted-zone-public-viewing-query-metrics-console)
+ [使用 取得 DNS 查詢指標 AWS CLI](#hosted-zone-public-viewing-query-metrics-cli)

## 在 CloudWatch 主控台中檢視公有託管區域的 DNS 查詢指標
<a name="hosted-zone-public-viewing-query-metrics-console"></a>

若要在 CloudWatch 主控台中檢視公有託管區域的 DNS 查詢指標，請執行下列程序。<a name="hosted-zone-public-viewing-query-metrics-console-procedure"></a>

**在 CloudWatch 主控台上檢視公有託管區域的 DNS 查詢指標**

1. 登入 AWS 管理主控台 ，並在 https：//[https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/) 開啟 CloudWatch 主控台。

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

1. 在主控台右上角 AWS 的區域清單中，選擇**美國東部 （維吉尼亞北部）**。如果您選擇任何其他 AWS 區域，則無法使用 Route 53 指標。

1. 在 **All metrics** (所有指標) 標籤上，選擇 **Route 53**。

1. 選擇 **Hosted Zone Metrics (託管區域指標)**。

1. 選取一或多個具有指標名稱 **DNSQueries** 之託管區域的核取方塊。

1. 在 **Graphed metrics (圖表化指標)** 索引標籤上，變更適用的值，以您想要的格式檢視指標。

   對於 **Statistic (統計資料)**，選擇 **Sum (總和)** 或 **SampleCount**；這些統計資料都會顯示相同的值。

## 使用 取得 DNS 查詢指標 AWS CLI
<a name="hosted-zone-public-viewing-query-metrics-cli"></a>

若要使用 取得 DNS 查詢指標 AWS CLI，您可以使用 [get-metric-data](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/get-metric-data.html) 命令。注意下列事項：
+ 您可以在個別的 JSON 檔案中，為命令指定大多數值。如需詳細資訊，請參閱 [get-metric-data](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/get-metric-data.html)。
+ 命令會為您 `Period` 在 JSON 檔案中，為指定的每個間隔傳回一個值。`Period` 是以秒為單位，因此如果您指定 5 分鐘的時段並為 `Period` 指定 `60`，您會得到五個值。如果您指定 5 分鐘的時段，並為 `Period` 指定 `300`，您會得到一個值。
+ 在 JSON 檔案中，您可以為 `Id` 指定任何值。
+ 不指定 AWS 區域，或指定 `us-east-1`做為區域。如果您選擇任何其他區域，Route 53 指標將無法使用。如需詳細資訊，請參閱*AWS Command Line Interface 《 使用者指南*》中的[設定 AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html)。

以下是您在 2019 年 5 月 1 日 4：01 到 4：07 之間，用來取得 5 分鐘 DNS 查詢指標的 AWS CLI 命令。`metric-data-queries` 參數會參考遵循命令的範例 JSON 檔案。

```
aws cloudwatch get-metric-data --metric-data-queries file://./metric.json --start-time 2019-05-01T04:01:00Z --end-time 2019-05-01T04:07:00Z
```

以下是範例 JSON 檔案：

```
[
    {
        "Id": "my_dns_queries_id",
        "MetricStat": {
            "Metric": {
                "Namespace": "AWS/Route53",
                "MetricName": "DNSQueries",
                "Dimensions": [
                    {
                        "Name": "HostedZoneId",
                        "Value": "Z1D633PJN98FT9"
                    }
                ]
            },
            "Period": 60,
            "Stat": "Sum"
        },
        "ReturnData": true
    }
]
```

以下是此命令的輸出。注意下列事項：
+ 命令中的開始時間和結束時間涵蓋 7 分鐘的時段：`2019-05-01T04:01:00Z` 至 `2019-05-01T04:07:00Z`。
+ 只有六個傳回值。因為在這一分鐘內沒有 DNS 查詢，所以 `2019-05-01T04:05:00Z` 沒有值。
+ JSON 檔案中指定 `Period` 的值是 `60` (秒)，因此會以一分鐘為間隔回報值。

```
{
    "MetricDataResults": [
        {
            "Id": "my_dns_queries_id",
            "StatusCode": "Complete",
            "Label": "DNSQueries",
            "Values": [
                101.0,
                115.0,
                103.0,
                127.0,
                111.0,
                120.0
            ],
            "Timestamps": [
                "2019-05-01T04:07:00Z",
                "2019-05-01T04:06:00Z",
                "2019-05-01T04:04:00Z",
                "2019-05-01T04:03:00Z",
                "2019-05-01T04:02:00Z",
                "2019-05-01T04:01:00Z"
            ]
        }
    ]
}
```