查看公有托管区域的 DNS 查询指标
您可以查看 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 如何为您的域路由流量。
- 托管区域的查询指标何时开始显示在 CloudWatch 中?
-
在您创建托管区域后,托管区域最长可能需要经过几个小时,才会显示在 CloudWatch 中。此外,您必须为托管区域中的记录提交 DNS 查询来显示数据。
- 指标仅适用于美国东部(弗吉尼亚北部)
-
要获取控制台指标,您必须将区域指定为美国东部(弗吉尼亚北部)。要使用 AWS CLI 获得指标,您必须保留 AWS 区域处于未指定状态,或指定
us-east-1
作为区域。如果您选择任何其它区域,则 Route 53 指标将不可用。 - DNS 查询的 CloudWatch 指标和维度
-
有关 DNS 查询的 CloudWatch 指标和维度的信息,请参阅 使用 Amazon CloudWatch 监控托管区域。有关 CloudWatch 指标的更多信息,请参阅 Amazon CloudWatch 用户指南 中的使用 Amazon CloudWatch 指标。
- 获取有关 DNS 查询的更详细数据
-
要获取有关 Route 53 响应的每个 DNS 查询的更多详细信息,包括以下值,可以配置查询日志记录:
已请求的域或子域
请求的日期和时间
DNS 记录类型(例如 A 或 AAAA)
对 DNS 查询做出响应的 Route 53 边缘站点
DNS 响应代码,例如
NoError
或ServFail
有关更多信息,请参阅 公有 DNS 查询日志记录。
- 如何获取 DNS 查询指标
-
在您创建托管区域后不久,Amazon Route 53 开始每分钟发送一次指标和维度到 CloudWatch。您可以使用以下过程在 CloudWatch 控制台中查看指标,或使用 AWS Command Line Interface (AWS CLI) 来查看指标。
在 CloudWatch 控制台中查看公有托管区域的 DNS 查询指标
要在 CloudWatch 控制台中查看公有托管区域的 DNS 查询指标,请执行以下过程。
在 CloudWatch 控制台中查看公有托管区域的 DNS 查询指标
登录 AWS Management Console 并打开 CloudWatch 控制台 (https://console.aws.amazon.com/cloudwatch/
)。 在导航窗格中,选择指标。
在控制台窗口右上角的 AWS 区域列表中,选择美国东部(弗吉尼亚北部)。如果您选择任何其它 AWS 区域,则 Route 53 指标将不可用。
在 All metrics (所有指标) 选项卡上,选择 Route 53。
选择 Hosted Zone Metrics (托管区域指标)。
选中一个或多个具有名为 DNSQueries 的指标的托管区域的复选框。
在 Graphed metrics (图形化指标) 选项卡上,更改适用的值以查看所需格式的指标。
对于 Statistic (统计数据),选择 Sum 或 SampleCount;这些统计数据均显示相同的值。
使用 AWS CLI 获取 DNS 查询指标
要使用 AWS CLI 获取 DNS 查询指标,您可以使用 get-metric-data 命令。请注意以下几点:
您可以在单独的 JSON 文件中为命令指定大多数值。有关更多信息,请参阅 get-metric-data。
该命令为您在 JSON 文件中为
Period
指定的每个间隔返回一个值。Period
以秒为单位,因此,如果指定五分钟的时间段并为Period
指定60
,则会得到五个值。如果您指定一个五分钟的时间段,并为Period
指定300
,则会得到一个值。在 JSON 文件中,您可以为
Id
指定任何值。要么使 AWS 区域保留未指定状态,或指定
us-east-1
作为区域。如果您选择任何其它区域,则 Route 53 指标将不可用。有关更多信息,请参阅 AWS Command Line Interface 用户指南 中的配置 AWS CLI。
下面是 AWS CLI 命令,可以使用该命令获取 2019 年 5 月 1 日 4:01 到 4:07 之间的五分钟时间段的 DNS 查询指标。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 } ]
下面是此命令的输出。请注意以下几点:
命令中的开始时间和结束时间涵盖了七分钟的时间段,从
2019-05-01T04:01:00Z
到2019-05-01T04:07:00Z
。只有 6 个返回值。
2019-05-01T04:05:00Z
没有值,因为该分钟内没有任何 DNS 查询。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" ] } ] }