匯總匯出

您可以建立匯總匯出接收器,從 Google Cloud Platform 機構的所有專案、資料夾與帳單帳戶匯出記錄項目。例如,您可以將稽核記錄項目從機構的專案匯總並匯出至一個集中位置。

概念

如果沒有匯總匯出功能,匯出接收器只能從建立接收器的資源匯出記錄項目:GCP 專案、機構、資料夾或帳單帳戶。

如要使用匯總匯出功能,請在 GCP 機構或資料夾中建立接收器,並將接收器的 includeChildren 參數設定為 True,接收器除了能從機構或資料夾匯出記錄項目,還能 (以遞迴方式) 從包含的任何資料夾、帳單帳戶或專案中匯出記錄項目。您可以使用接收器的篩選器,從專案、資源類型或已命名記錄中指定記錄項目。

如要瞭解匯出接收器及其建立方式,請參閱在 API 中匯出記錄使用指令列工具建立接收器各節。

建立匯出目的地

建立記錄接收器之前,必須先透過 gcloud 指令列工具、Cloud Console 或 Cloud API 建立匯出目的地。

以下為支援匯出接收器的匯出目的地:

只要記錄接收器的服務帳戶擁有寫入至匯出目的地的權限,您可以在任何 GCP 專案與任何機構中建立匯出目的地。

建立匯總匯出接收器

如要在 GCP 資料夾中建立匯總匯出接收器、帳單帳戶或機構,您可以使用 Stackdriver Logging APIgcloud 指令列工具

Logging API

如要建立記錄接收器,請在 Stackdriver Logging API 中使用 organizations.sinks.createfolders.sinks.createbillingAccounts.sinks.create。請依照以下方式準備方法的引數:

  1. parent 參數設定為要在其中建立接收器的 GCP 機構、資料夾或帳單帳戶。父項必須是下列其中一項:

    • organizations/[ORGANIZATION_ID]
    • folders/[FOLDER_ID]
    • billingAccounts/[BILLING_ACCOUNT_ID]
  2. 在方法要求主體的 LogSink 物件中:

    • includeChildren 設定為 True

    • 設定 filter 屬性,請注意,所有專案中的記錄項目都將與這個篩選器進行比對。

      如需實用篩選器的一些範例,請參閱將篩選器與匯總匯出搭配使用一節。

    • 設定剩餘的 LogSink 欄位,方法與為任何接收器設定時相同。詳情請參閱建立接收器一節。

  3. 呼叫 organizations.sinks.createfolders.sinks.create 以建立接收器。

  4. 從 API 回應擷取用來建立接收器的服務帳戶名稱。

  5. 為這個服務帳戶授予寫入至匯出目的地的權限。

    如果您沒有變更匯出目的地的權限,請將服務帳戶名稱傳送至可為您進行此項變更的使用者。

    如要進一步瞭解如何為資源授予服務帳戶權限,請參閱將角色授予服務帳戶一文。

gcloud

如要建立記錄接收器,請使用 logging sinks create 指令。

  1. 提供接收器名稱、匯出目的地、記錄篩選器,以及資料夾、帳單帳戶或機構的 ID。

    例如,在資料夾層級設定匯總匯出,如下所示:

    gcloud logging sinks create [SINK_NAME] \
    storage.googleapis.com/[BUCKET_NAME] --include-children \
    --folder=[FOLDER_ID] --log-filter="logName:activity"

    附註:

    • 如要在機構層級建立接收器,請將 --folder=[FOLDER_ID] 替換為 --organization=[ORGANIZATION_ID]。如為帳單帳戶,則替換為 --billing-account=[BILLING_ACCOUNT_ID]

    • 要將機構內所有專案納入接收器中,即使 --organization 標記已傳送至 create,還是必須先設定 --include-children 標記。設為 false (預設值) 時,接受器將只能夠由主機資源匯出記錄。

    • 您必須具備父項的記錄設定寫入者 Cloud IAM 角色,才能建立接收器。如要進一步瞭解 Logging Cloud IAM 角色,請參閱存取權控管指南

    • 如需實用篩選器的一些範例,請參閱將篩選器與匯總匯出搭配使用一節。

  2. 從指令輸出中擷取用來建立接收器的服務帳戶名稱。

  3. 為這個服務帳戶授予寫入至匯出目的地的權限。

    如果您沒有變更匯出目的地的權限,請將服務帳戶名稱傳送至可為您進行此項變更的使用者。

    如要進一步瞭解如何為資源授予服務帳戶權限,請參閱將角色授予服務帳戶一文。

將篩選器與匯總匯出搭配使用

就像所有匯出接收器一樣,匯總匯出接收器也包含可選取個別記錄項目的篩選器。如要進一步瞭解篩選器,請參閱進階記錄篩選器一文。

以下是篩選器比較的一些範例,在使用匯總匯出功能時很實用。有一些範例使用了下列標記法:

  • : 是子字串運算子。請不要替換 = 運算子。
  • ... 代表其他任何篩選器比較。
  • 變數會以方括號 ([]) 表示,以有效的值取代。

選擇稽核記錄

如要匯出稽核記錄,請選擇下列其中一個比較範例:

log_name:"/logs/cloudaudit.googleapis.com"
log_name:"/logs/cloudaudit.googleapis.com%2Factivity" AND...
log_name:"/logs/cloudaudit.googleapis.com%2Fdata_access" AND...
log_name:"/logs/cloudaudit.googleapis.com%2Fsystem_event" AND...

如要瞭解稽核記錄,請參閱 Cloud 稽核記錄一文。

選擇匯出來源

如要從特定專案、資料夾或機構匯出記錄,請使用下列其中一個比較範例:

logName:"projects/[PROJECT_ID]/logs/" AND ... 
logName:("projects/[PROJECT_A_ID]/logs/" OR "projects/[PROJECT_B_ID]/logs/") AND ... 
logName:"folders/[FOLDER_ID]/logs/" AND ... 
logName:"organizations/[ORGANIZATION_ID]/logs/" AND ... 

選擇資源

如要僅從專案中的特定資源匯出記錄,請使用多個比較以精確指定資源:

logName:"projects/[PROJECT_ID]/logs" AND
resource.type=[RESOURCE_TYPE] AND
resource.labels.instance_id=[INSTANCE_ID]

如需資源類型清單,請參閱受控資源類型列表。

記錄項目取樣

如要匯出記錄項目的隨機樣本,請新增 sample 內建函式。例如,如果只是要匯出符合目前篩選器的記錄項目的 10%,請加上以下這一行:

sample(insertId, 0.10) AND ...

詳情請參閱 sample 函式

如要進一步瞭解 Stackdriver Logging 篩選器,請參閱進階記錄篩選器一文。

本頁內容對您是否有任何幫助?請提供意見:

傳送您對下列選項的寶貴意見...

這個網頁
Stackdriver Logging
需要協助嗎?請前往我們的支援網頁