Trang này cung cấp thông tin về việc ghi nhật ký và theo dõi các chỉ số cho Cloud DNS, bao gồm cả vùng công khai, vùng riêng tư, và vùng chuyển tiếp. Trang này cũng cung cấp hướng dẫn theo dõi quá trình truyền tải các thay đổi đối với DNS công khai.
Sử dụng tính năng ghi nhật ký Cloud DNS
Tính năng ghi nhật ký DNS trên đám mây theo dõi các truy vấn mà máy chủ định danh phân giải cho mạng Đám mây riêng ảo (VPC), cũng như các truy vấn từ một thực thể bên ngoài trực tiếp đến một vùng công khai.
Các truy vấn được ghi lại có thể đến từ các thực thể máy ảo (VM) Compute Engine, các vùng chứa Google Kubernetes Engine trong cùng một mạng VPC, vùng kết nối ngang hàng hoặc ứng dụng cục bộ sử dụng tính năng chuyển tiếp DNS inbound. Vùng DNS riêng tư, vùng DNS chuyển tiếp, máy chủ định danh thay thế, vùng DNSGoogle Cloud nội bộ hoặc vùng DNS bên ngoài cuối cùng có thể phân giải các truy vấn.
Bản ghi nhật ký thuộc về dự án sở hữu mạng hoặc vùng công khai đã thực hiện yêu cầu. Trong trường hợp VPC dùng chung, các bản ghi nhật ký thuộc về dự án lưu trữ vì dự án lưu trữ sở hữu mạng.
Bật và tắt tính năng ghi nhật ký cho các vùng được quản lý riêng tư
Sử dụng chính sách DNS để bật hoặc tắt tính năng ghi nhật ký cho mạng của bạn. Khi bạn bật tính năng ghi nhật ký truy vấn, mọi truy vấn DNS đến một vùng được quản lý riêng bằng Cloud DNS đều được ghi lại.
Để bật tính năng ghi nhật ký cho một mạng không có chính sách DNS, hãy chạy lệnh dns policies create
.
gcloud
gcloud dns policies create POLICY_NAME \ --networks=NETWORK \ --enable-logging \ --description=DESCRIPTION
Thay thế nội dung sau:
POLICY_NAME
: tên của chính sách DNSNETWORK
: một hoặc nhiều mạng trong danh sách được phân tách bằng dấu phẩyDESCRIPTION
: nội dung mô tả chính sách
Để bật tính năng ghi nhật ký cho một mạng có chính sách DNS hiện có, hãy chạy lệnh dns policies update
.
gcloud
gcloud dns policies update POLICY_NAME \ --networks=NETWORK \ --enable-logging
Thay thế nội dung sau:
POLICY_NAME
: tên của chính sách DNSNETWORK
: một hoặc nhiều mạng trong danh sách được phân tách bằng dấu phẩy
Để tắt tính năng ghi nhật ký mà vẫn áp dụng chính sách, hãy chạy lệnh dns policies update
.
gcloud
gcloud dns policies update POLICY_NAME \ --networks=NETWORK \ --no-enable-logging
Thay thế nội dung sau:
POLICY_NAME
: tên của chính sách DNSNETWORK
: một hoặc nhiều mạng trong danh sách được phân tách bằng dấu phẩy
Để xoá hoàn toàn chính sách, hãy chạy lệnh dns policies delete
.
gcloud
gcloud dns policies delete POLICY_NAME \
Thay thế POLICY_NAME
bằng tên của chính sách DNS mà bạn muốn xoá.
Bật và tắt tính năng ghi nhật ký cho các vùng công khai được quản lý
Để bật tính năng ghi nhật ký cho một vùng công cộng được quản lý hiện có, hãy chạy lệnh dns managed-zones update
.
gcloud
gcloud dns managed-zones update ZONE_NAME --log-dns-queries \
Thay thế ZONE_NAME
bằng tên của vùng được quản lý bằng DNS mà bạn muốn bật tính năng ghi nhật ký.
Để tắt tính năng ghi nhật ký cho một vùng công khai được quản lý hiện có, hãy chạy lệnh dns managed-zones update
.
gcloud
gcloud dns managed-zones update ZONE_NAME --no-log-dns-queries \
Thay thế ZONE_NAME
bằng tên của vùng được quản lý bằng DNS mà bạn muốn tắt tính năng ghi nhật ký.
Xem nhật ký
Bạn có thể xem nhật ký trong bảng điều khiển Google Cloud .
Bảng điều khiển
Trong bảng điều khiển Google Cloud , hãy chuyển đến trang Trình khám phá nhật ký.
Xem các trường định dạng bản ghi
Mỗi mục nhập nhật ký có các trường sau đây (nếu có). Một số trường cũng được chia sẻ với các chỉ số theo dõi.
Trường | Loại trường | Mô tả | Dùng trong chỉ số |
---|---|---|---|
alias_query_response_code (Xem trước) |
Chuỗi | Mã phản hồi được trả về từ truy vấn để phân giải tên chuẩn hoá của bản ghi ALIAS | Có |
authAnswer |
Boolean / DNS | Câu trả lời có thẩm quyền, RFC 1035 | Không |
destinationIP |
Chuỗi / Mục tiêu | Địa chỉ IP mục tiêu, chỉ áp dụng cho các trường hợp chuyển tiếp | Không |
egressError |
Chuỗi | Lỗi proxy thoát, lỗi thực tế do proxy thoát báo cáo khi nhận được từ máy chủ DNS cục bộ Bạn có thể dùng trường này để phân biệt SERVFAIL thực tế do DNS cục bộ trả về với lỗi mạng mà proxy đầu ra gặp phải |
Không |
healthyIps |
Chuỗi | Tập hợp địa chỉ IP trong ResourceRecordSet được biết là |
Không |
location |
Chuỗi | Khu vựcGoogle Cloud , ví dụ: us-east1 , nơi phản hồi được phân phát |
Có |
project_id |
Chuỗi | Google Cloud mã dự án của mạng đã nhận được truy vấn | Có |
protocol |
Chuỗi / DNS | TCP | UDP |
Không |
queryName |
Chuỗi / DNS | Tên truy vấn DNS, RFC 1035 4.1.2 | Không |
queryType |
Chuỗi / DNS | Loại truy vấn DNS, RFC 1035 4.1.2 | Không |
responseCode |
Số điện thoại / DNS | Mã phản hồi, RFC 1035 4.1.1 | Không |
rdata |
Chuỗi / DNS | Câu trả lời DNS ở định dạng trình bày, RFC 1035 5.1, bị cắt bớt còn 260 byte | Không |
sourceIP |
Chuỗi / Nguồn | IP phát sinh truy vấn | Không |
sourceNetwork |
Chuỗi / Nguồn | Mạng mà từ đó truy vấn đã đến hệ thống của chúng tôi | Không |
source_type |
Chuỗi | Nguồn của truy vấn: inbound-forwarding , gce-vm
|
Không |
target_name |
Chuỗi | Tên mục tiêu, ví dụ: tên vùng, tên chính sách, tên vùng nội bộ, tên miền bên ngoài | Có |
target_type |
Chuỗi | Loại mục tiêu phân giải truy vấn DNS: private-zone , forwarding-zone ,
forwarding-policy , peering-zone , internal , external |
Có |
unHealthyIps |
Chuỗi | Tập hợp địa chỉ IP trong ResourceRecordSet được biết là |
Không |
vmInstanceId |
Số điện thoại / Nguồn | Mã phiên bản máy ảo Compute Engine, chỉ áp dụng cho các truy vấn do máy ảo Compute Engine khởi tạo | Không |
vmInstanceName |
Chuỗi / Nguồn | Tên phiên bản máy ảo Compute Engine, chỉ áp dụng cho các truy vấn do máy ảo Compute Engine khởi tạo | Không |
vmProjectId |
Chuỗi / Nguồn | Google Cloud mã dự án của mạng đã gửi truy vấn, chỉ áp dụng cho các truy vấn do máy ảo Compute Engine khởi tạo | Không |
vmZoneName |
Chuỗi / Nguồn | Tên của vùng máy ảo nơi gửi truy vấn, chỉ áp dụng cho các truy vấn do máy ảo Compute Engine khởi tạo | Không |
Giá
Tất cả nhật ký Cloud DNS đều được ghi vào Cloud Logging. Dịch vụ này không tính phí riêng biệt với Cloud DNS. Tuy nhiên, các nhật ký này có thể làm tăng chi phí lưu trữ tuỳ thuộc vào kích thước của nhật ký được ghi và lưu trữ.
Để tính toán, Cloud DNS ghi khoảng 5 MB dữ liệu nhật ký để xử lý 10.000 truy vấn DNS.
Để biết thông tin về giá của Cloud Logging, hãy xem bài viết Giá của dịch vụ Quan sát của Google Cloud: Cloud Logging.
Khắc phục sự cố chuyển tiếp thư đi
Nếu bạn nhận được nhật ký chứa SERVFAIL
bị thiếu một số trường nhất định như destinationIP
, egressIP
và egressError
, hãy xem phần liên quan trong tài liệu Khắc phục sự cố.
Theo dõi chỉ số
Cloud DNS xuất các chỉ số giám sát sang Cloud Monitoring.
Bạn có thể theo dõi tốc độ truy vấn và phản hồi DNS trỏ đến các vùng riêng tư, vùng chuyển tiếp, chuyển tiếp chính sách, vùng Google Cloud nội bộ và Internet. Bạn có thể giám sát trên trang Giám sát của bảng điều khiển Google Cloud và trong Cloud Monitoring API.
DNS riêng tư xuất chỉ số delta dns.googleapis.com/query/response_count
chứa nhãn response_code
để đếm số lượng truy vấn trên mỗi mã phản hồi.
Nhãn response_code
thuộc loại string
với các giá trị có thể có là NOERROR
, FORMERR
, SERVFAIL
, NXDOMAIN
, NOTIMP
và UNKNOWN
.
Để biết định nghĩa của các mã này, hãy xem RCODE DNS IANA.
Chỉ số này được xuất trong loại tài nguyên dns_query
bằng cách sử dụng các trường có thể áp dụng của định dạng bản ghi nhật ký.
Theo dõi quá trình truyền tải DNS
Khi bạn sử dụng Google Cloud CLI hoặc API REST để thực hiện thay đổi, các thay đổi này ban đầu sẽ được đánh dấu là đang chờ xử lý cho đến khi thao tác hoàn tất. Bạn có thể sử dụng CLI gcloud hoặc API REST để kiểm tra trạng thái thay đổi hoặc xem nhật ký thay đổi.
Một thao tác sẽ hoàn tất (trạng thái: done
) khi Cloud DNS cập nhật thành công hệ thống kiểm soát các máy chủ. Có thể vẫn còn chậm trễ trước khi tất cả máy chủ định danh được cập nhật.
Liệt kê các thay đổi đối với một vùng được quản lý
Để liệt kê các thay đổi đối với một vùng được quản lý, hãy chạy lệnh dns record-sets changes list
.
gcloud
gcloud dns record-sets changes list --zone=ZONE
Thay thế ZONE
bằng tên của vùng được quản lý có các tập hợp bản ghi mà bạn muốn quản lý.
Xác minh quá trình truyền DNS
Để theo dõi và xác minh rằng máy chủ định danh DNS đã nhận được các thay đổi của bạn, bạn có thể sử dụng các lệnh watch
và dig
. Ví dụ sau đây minh hoạ cách tìm kiếm máy chủ định danh và kiểm tra xem khi nào một trong các máy chủ định danh của vùng được quản lý đã nhận được thay đổi đối với bản ghi MX
.
Để tra cứu máy chủ định danh của vùng, hãy chạy lệnh dns managed-zones describe
:
gcloud
gcloud dns managed-zones describe ZONE_NAME
Thay thế ZONE_NAME
bằng tên của vùng DNS trên đám mây.
Để kiểm tra xem các bản ghi có trên máy chủ định danh của bạn hay chưa, hãy chạy lệnh dig
sau:
gcloud
watch dig example.com in MX @ZONE_NAME_SERVER
Thay thế ZONE_NAME_SERVER
bằng một trong các máy chủ định danh trong vùng được quản lý.
Theo mặc định, lệnh watch
sẽ chạy lệnh dig
2 giây một lần. Bạn có thể sử dụng lệnh này để xác định thời điểm máy chủ định danh có thẩm quyền nhận được thay đổi của bạn. Quá trình này sẽ diễn ra trong vòng 120 giây. Sau khi máy chủ định danh có thẩm quyền của bạn thay đổi, trình phân giải DNS có thể bắt đầu nhận bản ghi mới.
Các trình phân giải đã lưu bản ghi trước đó vào bộ nhớ đệm sẽ chờ giá trị TTL trước đó của bản ghi hết hạn.
Để chạy dig
trên máy chủ định danh của hệ thống, bạn có thể xoá @<address>
khỏi lệnh dig
. Nếu muốn theo dõi quá trình truyền tải đến các máy chủ định danh khác, bạn có thể thay đổi address
để trỏ đến các máy chủ định danh khác.
Bước tiếp theo
- Để thêm, xoá và cập nhật bản ghi, hãy xem bài viết Thêm, sửa đổi và xoá bản ghi.
- Để tạo, cập nhật, liệt kê và xoá các vùng được quản lý, hãy xem phần Quản lý vùng.
- Để tìm giải pháp cho các vấn đề thường gặp mà bạn có thể gặp phải khi sử dụng Cloud DNS, hãy xem phần Khắc phục sự cố.
- Để tham khảo API, hãy xem API REST của Cloud DNS.
- Để biết thông tin tổng quan về Cloud DNS, hãy xem bài viết Tổng quan về Cloud DNS.