天天看點

統一管理多個項目Logging

作者:MeshCloud脈時雲

作者:MeshCloud脈時雲公有雲架構師王明立

背景

在使用谷歌雲可能會使用多個項目,每個項目都會産生日志,查詢日志需要登入每個Project檢視,非常不便于查詢及管理,需求單獨開一個項目管理其他多個項目的日志,不同項目的同一級别的日志傳輸到相同的桶,然後人員隻能檢視自己負責的項目的日,便于管理及查詢分析。

架構圖

統一管理多個項目Logging

技術簡介

如需管理 Google Cloud 組織的日志,您可以将整個組織的日志彙總到一個 Cloud Logging 存儲桶中。

本文檔通過彙總組織的稽核日志的示例介紹了此過程。

此過程包括以下步驟:

  1. 建立 Cloud Logging 存儲桶以存儲彙總的日志。
  2. 在組織級層建立接收器,以将日志路由到新的存儲桶。
  3. 配置對新存儲桶的讀取權限。
  4. 在“日志浏覽器”頁面中搜尋日志。

準備工作

要完成本指南中的步驟,您需要了解以下内容:

  • 您要将日志彙總到其中的 Google Cloud 項目。
  • 要在其中彙總日志的 Logging 存儲桶的名稱和位置。
  • 您要包含的日志。
  • 路由這些日志的接收器的名稱。
  • 項目的組織編号。
  • 日志視圖的資料視圖 ID。

操作步驟

在管理項目中分别建立用于存儲不同項目日志級别的桶,根據需求配置生命周期時間。

1.建立logbucket,配置保留期,預設30天。

統一管理多個項目Logging
統一管理多個項目Logging

2.配置LogRouter

在需要收集日志的組織或者級别配置Log Router

将日志條目路由到 logging存儲桶,接收器目标位置如下所示:

logging.googleapis.com/projects/DESTINATION_PROJECT/locations/global/buckets/BUCKET_NAME

日志包含:選擇組織和包含子項目提取的日志

日志級别:根據區分不同級别的日志字段例如,severity=INFO,區分不同的日志級别,分别存儲到不同的logging bucket。

例如:

resource.type="http_load_balancer"

severity=INFO

統一管理多個項目Logging

3.配置權限

檢視在每個項目中配置的Log Router,複制對應的service account,轉到管理的項目對應的IAM,給service account 添加Logs Bucket Writer權限。

統一管理多個項目Logging
統一管理多個項目Logging

4.人員權限控制

可以通過建立基于項目的日志視圖,再通過IAM授權不同的使用者對于不同視圖的通路權限,即可實作不同使用者通路桶中不同的日志。

1.建立日志視圖

gcloud logging views create VIEW_ID --bucket=BUCKET_NAME --location=LOCATION --log-filter='source("projects/spoton-project")'

在上一個指令中,VIEW_ID 變量是日志視圖的辨別符。使用描述性名稱可以輕松識别日志視圖。此外,請確定将 LOCATION 變量的值設定為 BUCKET_NAME 變量指定的存儲桶的位置。例如,如果存儲桶的位置是 us-central1,則上一條指令必須包含語句 --location=us-central1。--log-filter配置為source("projects/PROJECT-ID")。

重複上述指令,建立每個項目的日志視圖。

2.授予權限

在用于建立存儲桶的項目的 Google Cloud 控制台中,轉到 IAM頁面。

進入 IAM頁面

  • 點選 person_add 授予通路權限。
  • 在新的主帳号字段中,添加使用者的電子郵件帳戶。
  • 在選擇角色下拉菜單中,選擇 Logs Views Accessor。
  • 此角色為使用者提供所有視圖的讀取權限。

根據資源名稱添加條件

  • 點選添加 IAM條件。
  • 輸入條件的标題和說明。
  • 在條件類型下拉菜單中,選擇資源 > 名稱。
  • 在運算符下拉菜單中,選擇 是。
  • 在值字段中,輸入日志視圖的 ID,包括視圖的完整路徑。例如:projects/PROJECT_ID/locations/LOCATION/buckets/BUCKET_NAME/views/VIEW_ID
  • 點選儲存以添加該條件。
統一管理多個項目Logging

測試驗證

登入授予權限的賬号檢視,可以看到對應項目的日志。

統一管理多個項目Logging

繼續閱讀