Quản lý Logs của nhiều GCP projects tại một Logs Explorer duy nhất
Công ty bạn đang triển khai các sản phẩm lên Google Cloud. Organization node của công ty có nhiều GCP projects phục vụ cho từng nhóm sản phẩm hoặc các đội dự án riêng biệt. Khi đội ngũ kỹ sư trong quá trình phát triển, triển khai và kiểm thử các hệ thống chạy trên Google Cloud, một trong nhưng bước không thể thiếu là kiểm tra logs / debug các lỗi phát sinh của ứng dụng. Thật bất tiện khi phải chuyển đổi giữa các projects để truy cập Logs Explorer trên các projects khác nhau.
Thật may, Google Cloud có thể cho phép chúng ta tập trung toàn bộ Logs trên các projects vào một nơi duy nhất.
Filter logs at the organization level with a sink
Chúng ta có thể dùng một aggregated sink
để tổng hợp và điều hướng Logs từ các GCP Projects trong một Organization hoặc trong một folder. Filtered Logs từ các GCP Projects có thể được điều hướng tới một trong những nơi sau:
- Cloud Storage: Các JSON files được lưu trữ trong các Cloud Storage buckets.
- Pub/Sub: Các JSON files được lưu trữ trong các Cloud Storage buckets.
- BigQuerry: Các Tables được tạo trong các BigQuery datasets.
- Cloud Logging buckets
Bài viết này sẽ hướng dẫn các bạn cách chuyển toàn bộ Logs từ tất cả các GCP Projects trong Organization Node đến một Logs bucket
duy nhất của một project cụ thể đã được định trước.
IAM Requirements
Để có thể tạo được một Log sink, bạn phải có một trong những quyền sau:
- Owner (
roles/owner
) - Logging Admin (
roles/logging.admin
) - Logs Configuration Writer (
roles/logging.configWriter
)
Bước 1: Chọn một project trong Org làm nơi lưu Logs tập trung
Logs bucket
dùng chung này có thể tạo trên bất kỳ projects nào trong Org. Ví dụ sau sẽ tạo một Logs bucket
có tên là specific-log trong project có ID là $YOUR_PROJECT_ID
gcloud logging buckets create --location=global --retention-days=2 --project=$YOUR_PROJECT_ID specific-log
Kết quả:
Bước 2: Tạo một aggregated sink
gcloud logging sinks create sink-specific-logs --organization=$ORGANIZATION_ID --include-children \
logging.googleapis.com/projects/logging.googleapis.com/projects/$YOUR_PROJECT_ID/locations/global/buckets/specific-log
Bước 3: Refine scope in Logs Explorer
Truy cập vào Cloud Logging console và click REFINE SCOPE
Sau đó, chọn Scope by storage
và chọnspecific-log
log bucket đã tạo ở Bước 1.
Bước 4: Kiểm tra Logs
Bây giờ, bạn có thể tùy ý chọn Project mà bạn muốn kiểm tra logs.
Lưu ý: Bạn sẽ phải trả thêm tiền nếu cài đặt điều hướng Logs đến nhiều Logs Bucket khác nhau. Ví dụ, cùng một Log entry mà bạn điều hướng nó đến 3 Logs buckets thì bạn sẽ phải trả gấp 3 chi phí cho Google Cloud.
Để tránh được việc phát sinh chi phí như trên, khi bạn điều hướng Logs trên các projects vềspecific-log
log bucket rồi thì bạn có thể disable _Default
log sink trên các projects trong ORG.