Sử dụng tính năng ghi nhật ký và giám sát

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 DNS
  • NETWORK: một hoặc nhiều mạng trong danh sách được phân tách bằng dấu phẩy
  • DESCRIPTION: 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 DNS
  • NETWORK: 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 DNS
  • NETWORK: 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ý.

Chuyển đến 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
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à HEALTHY đến Cloud DNS tại thời điểm truy vấn

Không
location Chuỗi Khu vựcGoogle Cloud , ví dụ: us-east1, nơi phản hồi được phân phát
project_id Chuỗi Google Cloud mã dự án của mạng đã nhận được truy vấn
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
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
unHealthyIps Chuỗi

Tập hợp địa chỉ IP trong ResourceRecordSet được biết là UNHEALTHY đến Cloud DNS tại thời điểm truy vấn

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, egressIPegressError, 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, NOTIMPUNKNOWN. Để 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 watchdig. 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