本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
查看公有托管区域的 DNS 查询指标
您可以查看 Route 53 响应的针对公共托管区域或一组公共托管区域的 DNS 查询总数。指标显示在中 CloudWatch,因此您可以查看图表、选择时间段并通过其他方式自定义指标。您还可以在 DNS 查询数量高于或低于您选择的水平时创建警报并设置通知。
注意
Route 53 会自动将所有公共托管区域的 DNS 查询数量发送到该区域,因此您无需进行任何配置即可查看查询指标。 CloudWatch DNS 查询指标不收费。
- 哪些 DNS 查询计算在内?
-
指标仅包括 DNS 解析器转发到 Route 53 的查询。如果 DNS 解析器已经缓存了对查询的响应(例如负载均衡器的 IP 地址,例如,.com),它将继续返回缓存的响应,直到该记录的 TTL 到期。
根据针对某个域名(example.com)或子域名(www.example.com)发送了多少个 DNS 查询(您的用户使用的解析器)以及记录的 TTL,指标可能仅显示发送给 DNS 解析器的每几千个查询中的一个查询。有关 DNS 的工作方式的更多信息,请参阅Amazon Route 53 如何为您的域路由流量。
- 托管区域的查询指标何时开始显示在 CloudWatch 中?
-
在您创建托管区域后,托管区域最长可能需要经过几个小时,才会显示在 CloudWatch 中。此外,您必须为托管区域中的记录提交 DNS 查询来显示数据。
- 指标仅适用于美国东部(弗吉尼亚北部)
-
要获取控制台指标,您必须将区域指定为美国东部(弗吉尼亚北部)。要使用 AWS CLI 获取指标,必须不指定 AWS 区域,或者指定
us-east-1为区域。如果您选择任何其它区域,则 Route 53 指标将不可用。 - CloudWatch DNS 查询的指标和维度
-
有关 DNS 查询的 CloudWatch 指标和维度的信息,请参阅使用亚马逊监控托管区域 CloudWatch。有关 CloudWatch 指标的信息,请参阅亚马逊 CloudWatch 用户指南中的使用亚马逊 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 管理控制台 并打开 CloudWatch 控制台,地址为https://console.aws.amazon.com/cloudwatch/
。 在导航窗格中,选择指标。
在控制台右上角的 AWS 区域列表上,选择美国东部(弗吉尼亚北部)。如果您选择任何其他 AWS 区域,则无法使用 Route 53 指标。
在 All metrics (所有指标) 选项卡上,选择 Route 53。
选择 Hosted Zone Metrics (托管区域指标)。
选中一个或多个具有名为 DNSQueries 的指标的托管区域的复选框。
在 Graphed metrics (图形化指标) 选项卡上,更改适用的值以查看所需格式的指标。
对于统计数据,选择总和或 SampleCount;这两个统计数据显示相同的值。
使用获取 DNS 查询指标 AWS CLI
要使用获取 DNS 查询指标 AWS CLI,请使用 get- metric-dat a 命令。注意以下几点:
您可以在单独的 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" ] } ] }