查看公有托管区域的 DNS 查询指标 - Amazon Route 53
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

查看公有托管区域的 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 查询来显示数据。

指标仅适用于美国东部(弗吉尼亚北部)

要获取控制台指标,您必须将区域指定为美国东部(弗吉尼亚北部)。要使用 Amazon CLI 获得指标,您必须保留 Amazon 区域处于未指定状态,或指定 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 响应代码,例如 NoErrorServFail

有关更多信息,请参阅 公有 DNS 查询日志记录

如何获取 DNS 查询指标

在您创建托管区域后不久,Amazon Route 53 开始每分钟发送一次指标和维度到 CloudWatch。您可以使用以下过程在 CloudWatch 控制台中查看指标,或使用 Amazon Command Line Interface (Amazon CLI) 来查看指标。

在 CloudWatch 控制台中查看公有托管区域的 DNS 查询指标

要在 CloudWatch 控制台中查看公有托管区域的 DNS 查询指标,请执行以下过程。

在 CloudWatch 控制台中查看公有托管区域的 DNS 查询指标

  1. 登录Amazon Web Services Management Console并打开 CloudWatch 控制台,网址为 https://console.aws.amazon.com/cloudwatch/

  2. 在导航窗格中,选择 Metrics (指标)

  3. 在控制台窗口右上角的 Amazon 区域列表中,选择美国东部(弗吉尼亚北部)。如果您选择任何其它 Amazon 区域,则 Route 53 指标将不可用。

  4. All metrics (所有指标) 选项卡上,选择 Route 53

  5. 选择 Hosted Zone Metrics (托管区域指标)

  6. 选中一个或多个具有名为 DNSQueries 的指标的托管区域的复选框。

  7. Graphed metrics (图形化指标) 选项卡上,更改适用的值以查看所需格式的指标。

    对于 Statistic (统计数据),选择 SumSampleCount;这些统计数据均显示相同的值。

使用 Amazon CLI 获取 DNS 查询指标

要使用 Amazon CLI 获取 DNS 查询指标,您可以使用 get-metric-data 命令。请注意以下几点:

  • 您可以在单独的 JSON 文件中为命令指定大多数值。有关更多信息,请参阅 get-metric-data

  • 该命令为您在 JSON 文件中为 Period 指定的每个间隔返回一个值。Period 以秒为单位,因此,如果指定五分钟的时间段并为 60 指定 Period,则会得到五个值。如果您指定一个五分钟的时间段,并为 300 指定 Period,则会得到一个值。

  • 在 JSON 文件中,您可以为 Id 指定任何值。

  • 要么使 Amazon 区域保留未指定状态,或指定 us-east-1 作为区域。如果您选择任何其它区域,则 Route 53 指标将不可用。有关更多信息,请参阅 Amazon Command Line Interface 用户指南 中的配置 Amazon CLI

下面是 Amazon 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:00Z2019-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" ] } ] }