本页面介绍了 Cloud DNS 的日志记录和监控指标,包括 公开区域、专用区域、 和转发区域。 另外还提供了有关监控公共 DNS 更改传播的说明。
使用 Cloud DNS 日志记录
Cloud DNS 日志记录功能会跟踪域名服务器为您的 Virtual Private Cloud (VPC) 网络解析的查询,以及从外部实体直接到公开区域的查询。
所记录的查询可能来自使用同一 VPC 网络的 Compute Engine 虚拟机 (VM) 实例、同一 VPC 网络中的 Google Kubernetes Engine 容器、对等互连区域或入站 DNS 转发。专用 DNS 区域、转发 DNS 区域、备用域名服务器、内部Google Cloud DNS 区域或外部 DNS 区域可能会最终解析查询。
日志记录归属于传输请求的网络 或公开区域 所属的项目。对于共享 VPC,日志记录归属于宿主项目,因为宿主项目拥有该网络。
为专用代管区域启用日志记录功能
使用 DNS 政策为您的网络启用或停用日志记录功能。启用查询日志记录时,系统会记录对 Cloud DNS 专用代管区域的每个 DNS 查询。
如需为没有 DNS 政策的网络启用日志记录,请完成以下步骤。
控制台
在 Google Cloud 控制台中,前往创建 DNS 政策页面。
在名称部分,输入政策的名称。
(可选)在说明中输入说明。
在日志列表中,选择开启。
在网络部分中,点击添加网络,然后选择所需的网络。
点击创建。
gcloud
运行 dns policies create 命令。
gcloud dns policies create POLICY_NAME \
--networks=NETWORK \
--enable-logging \
--description=DESCRIPTION替换以下内容:
POLICY_NAME:DNS 政策的名称NETWORK:英文逗号分隔列表中的一个或多个网络DESCRIPTION:政策的说明
如需为具有 DNS 政策的网络启用日志记录,请完成以下步骤。
控制台
在 Google Cloud 控制台中,前往 Cloud DNS 政策页面。
点击要更新的 DNS 服务器政策。
点击修改政策
在日志部分,选择开启。
点击保存。
gcloud
运行 dns policies update 命令。
gcloud dns policies update POLICY_NAME \
--networks=NETWORK \
--enable-logging
替换以下内容:
POLICY_NAME:DNS 政策的名称NETWORK:英文逗号分隔列表中的一个或多个网络
为专用代管区域停用日志记录功能
如需在保留政策的同时关闭日志记录,请完成以下步骤。
控制台
在 Google Cloud 控制台中,前往 Cloud DNS 政策页面。
点击要更新的 DNS 服务器政策。
点击修改政策
在日志部分,选择关闭。
点击保存。
gcloud
运行 dns policies update 命令。
gcloud dns policies update POLICY_NAME \
--networks=NETWORK \
--no-enable-logging替换以下内容:
POLICY_NAME:DNS 政策的名称NETWORK:英文逗号分隔列表中的一个或多个网络
为公开代管区域启用日志记录功能
如需为现有的代管式公共可用区启用日志记录功能,请完成以下步骤。
控制台
在 Google Cloud 控制台中,前往 Cloud DNS 区域页面。
点击要启用日志记录功能的公开代管区域。
点击修改。
在 Cloud Logging 部分,点击开启。
点击保存。
gcloud
运行 dns managed-zones update 命令。
gcloud dns managed-zones update ZONE_NAME --log-dns-queries \
将 ZONE_NAME 替换为要为其启用日志记录功能的 DNS 代管区域的名称。
为公开代管区域停用日志记录功能
如需为现有的公开代管区域停用日志记录功能,
控制台
在 Google Cloud 控制台中,前往 Cloud DNS 区域页面。
点击要启用日志记录功能的公开代管区域。
点击修改。
在 Cloud Logging 部分,点击关闭。
点击保存。
gcloud
运行 dns managed-zones update 命令。
gcloud dns managed-zones update ZONE_NAME --no-log-dns-queries \
将 ZONE_NAME 替换为您要为其停用日志记录功能的 DNS 托管区域的名称。
查看日志
您可以在 Google Cloud 控制台中查看日志。
控制台
在 Google Cloud 控制台中,前往 Logs Explorer 页面。
查看记录格式字段
如果适用,每个日志条目都包含以下字段。部分字段还与监控指标共享。
| 字段 | 字段类型 | 说明 | 用于指标中 |
|---|---|---|---|
alias_query_response_code |
字符串 | 从查询中返回的响应代码,用于解析 ALIAS 记录的规范名称 | 是 |
authAnswer |
布尔值/DNS | 权威回答,IANA DNS 参数:DNS 标头标志 | 否 |
destinationIP |
字符串/目标 | 目标 IP 地址,仅适用于转发情况 | 否 |
egressError |
字符串 | 出站流量代理错误,即从本地 DNS 服务器收到的出站流量代理报告的实际错误 此字段可用于区分由本地 DNS 返回的实际 SERVFAIL 与出站流量代理遇到的网络连接错误 |
否 |
healthyIps |
字符串 | ResourceRecordSet 中的一组 IP 地址,对于 Cloud DNS,这些地址在查询时已知处于 |
否 |
location |
字符串 | 从中传送响应的Google Cloud 区域,例如 us-east1 |
是 |
project_id |
字符串 | 从中接收查询的网络的Google Cloud 项目 ID | 是 |
protocol |
字符串/DNS | TCP | UDP |
否 |
queryName |
字符串/DNS | DNS 查询名称,RFC 1035 4.1.2 | 否 |
queryType |
字符串/DNS | DNS 查询类型,IANA DNS 参数:资源记录 (RR) 类型 | 否 |
responseCode |
数字/DNS | 响应代码,IANA DNS Parameters: DNS RCODEs | 否 |
rdata |
字符串/DNS | 演示格式的 DNS 应答,IANA DNS 参数:资源记录 (RR) 类型,截断为 260 个字节 | 否 |
sourceIP |
字符串/来源 | 发起查询的 IP | 否 |
sourceNetwork |
字符串/来源 | 访问我们系统的查询的来源网络 | 否 |
source_type |
字符串 | 查询的来源:inbound-forwarding、gce-vm、internet、peering-zone、fqdn-forwarding-target
|
否 |
target_name |
字符串 | 目标名称,例如区域名称、政策名称、内部区域名称、外部域名 | 是 |
target_type |
字符串 | 解析 DNS 查询的目标类型:private-zone、forwarding-zone、forwarding-policy、peering-zone、internal、external、response-policy、service-directory-zone、reverse-lookup-zone、zonal-private-zone |
是 |
unHealthyIps |
字符串 | ResourceRecordSet 中的一组 IP 地址,对于 Cloud DNS,这些地址在查询时已知处于 |
否 |
vmInstanceId |
号码/来源 | Compute Engine 虚拟机实例 ID,仅适用于 Compute Engine 虚拟机发起的查询 | 否 |
vmInstanceName |
字符串/来源 | Compute Engine 虚拟机实例名称,仅适用于 Compute Engine 虚拟机发起的查询 | 否 |
vmProjectId |
字符串/来源 | 从中发送查询的网络的Google Cloud 项目 ID,仅适用于 Compute Engine 虚拟机发起的查询 | 否 |
vmZoneName |
字符串/来源 | 从中发送查询的虚拟机区域的名称,仅适用于 Compute Engine 虚拟机发起的查询 | 否 |
价格
所有 Cloud DNS 日志都会写入 Cloud Logging。Cloud DNS 不对此服务单独收费。但是,这些日志可能会产生额外的存储费用,具体取决于写入和存储的日志的大小。
为便于计算,您可以理解为 Cloud DNS 会写入大约 5 MB 的日志数据来处理 10000 个 DNS 查询。
如需了解 Cloud Logging 价格,请参阅 Google Cloud Observability 的价格:Cloud Logging。