建立及管理記錄範圍

本文說明如何建立及管理記錄範圍,以便有效率地找出要查看或分析的記錄項目。如果您只想查看及分析專案、資料夾或機構產生的記錄項目,請參閱其他文件。不過,如果您依賴記錄檔接收器將記錄檔轉送至其他專案或使用者定義的記錄檔值區,或是使用記錄檔檢視畫面,本文中的資訊或許有助於您有效率地尋找特定記錄檔項目。

本文不會說明如何查看記錄。如要瞭解該主題,請參閱「使用記錄檔探索工具查看記錄檔」。

關於記錄範圍

記錄範圍是專案層級的永久資源,會列出一組資源。這些資源可以是專案、資料夾、機構和記錄檢視畫面。舉例來說,您可以定義記錄範圍,列出包含用於生產的資源的專案,或是列出包含特定資源類型記錄項目的記錄檢視。

建立 Trusted Cloud 專案、資料夾或機構資源時,記錄會建立名為 _Default 的記錄範圍。這個範圍包括建立的專案、資料夾或機構。如果搜尋的資源是「 Trusted Cloud 」專案、資料夾或機構,結果會包含該資源產生的記錄項目,以及儲存在記錄 bucket 中的記錄項目。記錄檔 bucket 可位於任何專案中。搜尋專案時,結果也會包含由其他專案中的接收器轉送至該專案,然後儲存在記錄檔 bucket 中的記錄項目。

您可以建立記錄範圍。您也可以編輯及刪除您建立的記錄範圍。不過,您無法編輯或刪除名為 _Default 的記錄範圍。

您可以使用記錄範圍,控管「記錄檔探索工具」頁面搜尋記錄資料的資源。開啟該頁面並選取記錄範圍後,頁面會搜尋該範圍列出的資源,然後重新整理顯示畫面。

如果是專案,預設記錄範圍會決定「記錄探索工具」頁面開啟時搜尋的資源集。不過,系統會根據您在搜尋資源中的 Identity and Access Management (IAM) 角色和時間範圍設定,從儲存空間擷取記錄項目。建立專案時,系統會將名為 _Default 的記錄範圍指定為預設記錄範圍。

記錄範圍與集中式記錄儲存空間的差異

集中式記錄儲存空間和記錄範圍都能讓您查看來自不同專案的記錄資料。

集中儲存記錄時,您可以在機構或資料夾中設定接收器,將記錄項目轉送至單一儲存位置。集中式儲存空間提供單一位置來查詢記錄資料,因此在搜尋趨勢或調查問題時,查詢作業會更加簡化。從安全性的角度來看,您也只有一個儲存位置,這可簡化安全分析師的工作。

如果對記錄範圍中列出的資源發出查詢,系統會合併個別查詢結果。記錄範圍可讓您在讀取時彙整記錄資料,這些資料可能儲存在不同位置。不過,記錄範圍也可以用來提供集中式記錄儲存空間中一或多個記錄檢視畫面的讀取權。

「記錄檔探索工具」頁面開啟時,會向預設記錄範圍中列出的資源發出查詢。因此,請設定預設範圍,讓頁面顯示您通常想查看的資料。舉例來說,您可以將預設記錄範圍設為列出記錄檢視畫面,查詢時會傳回 App Hub 應用程式的記錄資料。

最佳做法

由於記錄範圍可讓您定義及儲存設定以供日後使用,因此建議您為複雜的搜尋設定建立記錄範圍。

舉例來說,假設您正在排解問題,並想查看團隊擁有的所有虛擬機器 (VM) 執行個體的記錄項目。如要完成這項工作,您可能需要執行下列操作:

  1. 您判斷要查看的記錄項目儲存在多個記錄 bucket 和多個專案中。對於大多數記錄 bucket,都有包含您要分析的記錄項目的記錄檢視。如果沒有記錄檢視,您可以自行建立。

  2. 您決定建立記錄範圍,因為您預期日後會遇到類似的疑難排解工作。

  3. 在 Trusted Cloud 控制台中開啟「記錄檔探索工具」頁面,然後使用「縮小範圍」選單選取新的記錄範圍。

  4. 您查看記錄項目,找出解決所調查問題所需的資訊。

  5. 解決問題後,請與同事分享失敗原因。您也分享了您預期未來會發生類似的失敗情形,因此建立記錄範圍,讓您或調查失敗情形的人員快速找到相關記錄項目。

App Hub 應用程式和記錄範圍

您的 App Hub 應用程式可能會將記錄資料寫入多個專案。記錄資料可能會儲存在來源專案中,或者機構管理員可能已設定集中式儲存空間。如要查看應用程式的記錄資料,請建立記錄範圍,將其設定為列出儲存應用程式記錄資料的專案或記錄檢視畫面,然後將其設為預設記錄範圍。完成這些步驟後,「記錄檔探索工具」頁面就會自動顯示應用程式寫入的資料,即使這些資料儲存在不同專案或集中式記錄檔值區中也一樣。

在專案中建立自訂記錄範圍,以便查看記錄資料。這個專案是您的 App Hub 主專案,或是已啟用應用程式的資料夾的管理專案。舉例來說,如果資料夾的顯示名稱是 My Folder,管理專案的顯示名稱就是 My Folder-mp

限制

  • 您無法刪除或修改名為 _Default 的記錄範圍。
  • 只有 Trusted Cloud 專案支援預設記錄範圍。
  • 您無法將資料夾或機構新增至使用者定義的記錄範圍。
  • 記錄範圍是在 global 位置建立。

事前準備

  • 如要取得建立及查看記錄範圍所需的權限,請要求管理員授予您專案、資料夾或機構的記錄設定寫入者 (roles/logging.configWriter) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。

    這個預先定義的角色具備建立及查看記錄範圍所需的權限。如要查看確切的必要權限,請展開「必要權限」部分:

    所需權限

    如要建立及查看記錄範圍,必須具備下列權限:

    • 如要建立及管理記錄範圍,請按照下列步驟操作: logging.logScopes.{create, delete, get, list, update}

    您或許還可透過自訂角色或其他預先定義的角色取得這些權限。

列出記錄範圍

gcloud

如要列出專案中的記錄範圍,請使用 gcloud logging scopes list 指令:

 gcloud logging scopes list --project=PROJECT_ID

執行指令前,請先更新下列欄位:

  • PROJECT_ID:專案的 ID。如要進行 App Hub 設定,請選取 App Hub 主專案或啟用應用程式的資料夾管理專案。

如要取得專案中記錄範圍的詳細資料,請使用 gcloud logging scopes describe 指令:

 gcloud logging scopes describe LOG_SCOPE_ID --project=PROJECT_ID

執行指令前,請先更新下列欄位:

  • PROJECT_ID:專案的 ID。
  • LOG_SCOPE_ID:記錄範圍的 ID。例如:my-scope

Terraform

您可以使用 Terraform 建立及修改記錄範圍。不過,您無法使用 Terraform 列出記錄範圍。

REST

Cloud Logging API 包含的指令可列出資源中的記錄範圍,或回報特定記錄範圍的詳細資料。如需完整指令清單,請參閱 API 參考說明文件

如要套用至 Trusted Cloud 專案,請使用下列指令:

在上述指令中,parent 欄位的語法如下:

projects/PROJECT_ID/locations/LOCATION_ID

上一個運算式中的欄位具有下列意義:

  • PROJECT_ID:專案的 ID。如要進行 App Hub 設定,請選取 App Hub 主專案或啟用應用程式的資料夾管理專案。
  • LOCATION_ID 必須設為 global

建立記錄範圍

每個專案最多可建立 100 個記錄範圍。 記錄範圍最多可包含 100 個記錄檢視和專案,但只能包含 5 個專案。您無法將資料夾或機構新增至記錄範圍。

gcloud

如要在專案中建立記錄範圍,請使用 gcloud logging scopes create 指令:

 gcloud logging scopes create LOG_SCOPE_ID --project=PROJECT_ID \
   --description=DESCRIPTION \
   --resource-names=RESOURCE_NAMES

執行指令前,請先更新下列欄位:

  • PROJECT_ID:專案的 ID。如要進行 App Hub 設定,請選取 App Hub 主專案或啟用應用程式的資料夾管理專案。
  • LOG_SCOPE_ID:記錄範圍的 ID。例如:my-scope
  • DESCRIPTION:選用。記錄範圍的說明。 將說明格式調整為字串。

  • RESOURCE_NAMES:以逗號分隔的專案或記錄檢視畫面完整名稱清單。舉例來說,如要在記錄範圍中加入 my-project,請指定 projects/my-project

Terraform

如要瞭解如何套用或移除 Terraform 設定,請參閱「基本 Terraform 指令」。 詳情請參閱 Terraform供應商參考說明文件

如要使用 Terraform 在專案、資料夾或機構中建立記錄範圍,請使用 Terraform 資源 google_logging_log_scope

在指令中,設定下列欄位:

  • parent:專案、資料夾或機構的完整名稱。 舉例來說,您可以將這個欄位設為 "projects/PROJECT_ID",其中 PROJECT_ID 是 Trusted Cloud 專案的 ID。如要進行 App Hub 設定,請選取 App Hub 主專案或啟用應用程式的資料夾管理專案。
  • locations:設為 "global"
  • name:設為記錄範圍的完整名稱。如果是專案,這個欄位的格式如下:

    "projects/PROJECT_ID/locations/global/logScopes/LOG_SCOPE_ID"
    

    在上述運算式中,LOG_SCOPE_ID 是記錄範圍的名稱,例如「production」。

  • resource_names:專案和記錄檢視區塊的陣列,其中每個專案和記錄檢視區塊都是使用完整名稱指定。

  • description:簡短說明。例如「Scope for production resources」。

REST

Cloud Logging API 也支援在資料夾或機構中建立記錄範圍。詳情請參閱 API 參考說明文件

如要套用至 Trusted Cloud 專案,請使用下列指令:

在上述指令中,parent 欄位的語法如下:

projects/PROJECT_ID/locations/LOCATION_ID

上一個運算式中的欄位具有下列意義:

  • PROJECT_ID:專案的 ID。如要進行 App Hub 設定,請選取 App Hub 主專案或啟用應用程式的資料夾管理專案。
  • LOCATION_ID 必須設為 global

修改或刪除記錄範圍

gcloud

如要修改專案中記錄範圍內資源清單的說明,請使用 gcloud logging scopes update 指令:

 gcloud logging scopes update LOG_SCOPE_ID --project=PROJECT_ID \
   --description=DESCRIPTION \
   --resource-names=RESOURCE_NAMES

執行指令前,請先更新下列欄位:

  • PROJECT_ID:專案的 ID。如要進行 App Hub 設定,請選取 App Hub 主專案或啟用應用程式的資料夾管理專案。
  • LOG_SCOPE_ID:記錄範圍的 ID。例如:my-scope
  • DESCRIPTION:記錄範圍的說明。 將說明格式設為字串。如不想變更記錄範圍的說明,請省略這個欄位。

  • RESOURCE_NAMES:以逗號分隔的專案或記錄檢視畫面完整名稱清單。如不想變更資源清單,請省略這個欄位。

如要刪除專案中的記錄範圍,請使用 gcloud logging scopes delete 指令:

 gcloud logging scopes delete LOG_SCOPE_ID --project=PROJECT_ID

執行指令前,請先更新下列欄位:

  • PROJECT_ID:專案的 ID。如要進行 App Hub 設定,請選取 App Hub 主專案或啟用應用程式的資料夾管理專案。
  • LOG_SCOPE_ID:記錄範圍的 ID。例如:my-scope

Terraform

如要瞭解如何套用或移除 Terraform 設定,請參閱「基本 Terraform 指令」。 詳情請參閱 Terraform供應商參考說明文件

如要使用 Terraform 修改專案、資料夾或機構中的記錄範圍,請使用 Terraform 資源 google_logging_log_scope

REST

Cloud Logging API 包含可修改或刪除記錄範圍的指令。如需完整指令清單,請參閱 API 參考說明文件

如要套用至 Trusted Cloud 專案,請使用下列指令:

在上述指令中,parent 欄位的語法如下:

projects/PROJECT_ID/locations/LOCATION_ID/logScopes/LOG_SCOPE_ID

上一個運算式中的欄位具有下列意義:

  • PROJECT_ID:專案的 ID。如要進行 App Hub 設定,請選取 App Hub 主專案或啟用應用程式的資料夾管理專案。
  • LOCATION_ID 必須設為 global
  • LOG_SCOPE_ID:記錄範圍的 ID。例如:my-scope

後續步驟