您可以使用 Google Cloud 控制台、Google Cloud CLI 或 Logging API,建立、查看及管理 Cloud Logging bucket,集中儲存記錄資料。您也可以設定保留期限及鎖定 bucket,以符合法規遵循要求。
如要使用提供 SQL 介面的 Observability Analytics 分析記錄資料,請升級記錄檔 bucket。這個介面可讓您查詢記錄資料,以及彙整記錄和追蹤資料。
如要使用 BigQuery 服務分析記錄檔資料,請在記錄檔 bucket 上建立連結的 BigQuery 資料集。這些資料集為唯讀,查詢方式與其他 BigQuery 資料集類似。或者,您也可以將記錄項目直接轉送至 BigQuery。
如需概念資訊,請參閱「儲存記錄項目」。
事前準備
設定專案和 IAM 角色,並選取要使用的介面。
設定專案和角色
如要開始使用 bucket,請按照下列步驟操作:
- 設定 Google Cloud 專案:
-
如要取得建立、升級及連結記錄檔 bucket 所需的權限,請要求管理員授予您專案的記錄檔設定寫入者 (
roles/logging.configWriter) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。如需完整的權限和角色清單,請參閱「使用 IAM 控管存取權」。
- 瞭解可儲存記錄的支援區域。
- 如果您打算使用 Google Cloud CLI 或 Cloud Logging API 建立或管理記錄檔 bucket,請瞭解
LogBucket格式規定。
選取要使用的介面
Google Cloud 控制台
使用 Google Cloud 控制台存取 Google Cloud 服務和 API 時,您不需要設定驗證機制。
gcloud
在 Google Cloud 控制台啟用 Cloud Shell。
Google Cloud 控制台底部會開啟 Cloud Shell 工作階段,並顯示指令列提示。Cloud Shell 是已安裝 Google Cloud CLI 的殼層環境,並已設定適用於您目前專案的值。工作階段可能要幾秒鐘的時間才能初始化。
REST
如要在本機開發環境中使用本頁的 REST API 範例,請使用您提供給 gcloud CLI 的憑證。
安裝 Google Cloud CLI。
若您採用的是外部識別資訊提供者 (IdP),請先 使用聯合身分登入 gcloud CLI。
詳情請參閱 Google Cloud 驗證說明文件中的「使用 REST 進行驗證」一節。
建立值區
這些操作說明假設您使用的是 Google 代管的加密金鑰。如要使用客戶自行管理的加密金鑰 (CMEK),請參閱「設定記錄儲存空間的 CMEK」。
每個Google Cloud 專案最多可建立 100 個 bucket。您無法在資料夾或組織中建立記錄檔 bucket。
如要為 Google Cloud 專案建立使用者定義的記錄檔 bucket,請按照下列步驟操作:
Google Cloud 控制台
如要在 Google Cloud 專案中建立記錄檔 bucket,請按照下列步驟操作:
-
在 Google Cloud 控制台中,前往「Logs Storage」(記錄檔儲存空間) 頁面:
如果您是使用搜尋列尋找這個頁面,請選取子標題為「Logging」的結果。
點選「建立記錄檔 bucket」。
輸入 bucket 的名稱和說明。
選用:升級 bucket 來使用 Observability Analytics。
- 選取「升級即可使用 Observability Analytics」。
將 bucket 升級為使用 Observability Analytics 後,您可以在「Observability Analytics」頁面中使用 SQL 查詢記錄。您也可以繼續使用 Logs Explorer 查看記錄。
- 選用:如要在 BigQuery 中查看記錄,請選取「建立連結至這個 bucket 的新 BigQuery 資料集」,然後輸入不重複的資料集名稱。
選取這個選項後,BigQuery 就能讀取儲存在記錄檔 bucket 中的資料。現在您可以在 BigQuery 介面中執行查詢,彙整記錄資料,以及存取數據分析和 Looker 等其他工具的資料。
- 選取「升級即可使用 Observability Analytics」。
如要選取記錄檔的儲存區域,請按一下「Select log bucket region」(選取記錄檔 bucket 區域) 選單,然後選取區域。
選用:如要為 bucket 中的記錄檔設定自訂保留期限,請點選「Next」(下一步)。
在「Retention period」(保留期限) 欄位中,輸入您希望 Cloud Logging 保留記錄檔的天數 (1 到3650 days天)。如未自訂保留期限,則預設值為
30 days。建立記錄檔 bucket 後,您也可以更新保留期限。
按一下「建立值區」。
建立記錄檔 bucket 後,Logging 會升級 bucket 並建立資料集連結 (如果已選取這些選項)。
這些步驟可能需要一些時間才能完成。
gcloud
如要只建立記錄檔 bucket,請執行 gcloud logging buckets create 指令。如要升級記錄檔 bucket 來使用 Observability Analytics,請加入 --enable-analytics 和 --async 旗標,並務必將變數 LOCATION 設為支援的地區:
gcloud logging buckets create BUCKET_ID --location=LOCATION --enable-analytics --async OPTIONAL_FLAGS
--async 旗標會強制指令以非同步方式執行。非同步方法的傳回值是 Operation 物件,其中包含方法的進度資訊。方法完成後,Operation 物件會包含要求成功或失敗的資訊。詳情請參閱「非同步 API 方法」。
如果不想升級記錄檔 bucket 來使用 Observability Analytics,請省略 --enable-analytics 和 --async 旗標。
舉例來說,如要在 global 區域中建立 BUCKET_ID
my-bucket 的 bucket,指令如下:
gcloud logging buckets create my-bucket --location global --description "My first bucket"
舉例來說,如要在 global 位置建立 BUCKET_ID
my-upgraded-bucket 的 bucket,然後升級記錄檔 bucket 以使用 Observability Analytics,指令會如下所示:
gcloud logging buckets create my-upgraded-bucket --location global \
--description "My first upgraded bucket" \
--enable-analytics --retention-days=45
REST
如要建立 bucket,請使用 projects.locations.buckets.create 或 projects.locations.buckets.createAsync 方法。請按照下列方式準備方法的引數:
將
parent參數設為要建立 bucket 的資源:projects/PROJECT_ID/locations/LOCATION變數 LOCATION 是指要儲存記錄檔的區域。
舉例來說,如要在
global區域中為專案my-project建立 bucket,parent參數應如下所示:projects/my-project/locations/global設定
bucketId參數,例如my-bucket。執行下列任一操作:
如要建立記錄檔 bucket,並升級該 bucket 以使用 Observability Analytics,請按照下列步驟操作:
將
LogBucket.analyticsEnabled布林值設為true。呼叫非同步方法
projects.locations.buckets.createAsync來建立 bucket。非同步方法的回應是
Operation物件。這個物件包含方法的進度資訊。方法完成後,Operation物件會包含狀態。詳情請參閱「非同步 API 方法」。createAsync方法需要幾分鐘才能完成。如果analyticsEnabled布林值設為true,這個方法不會產生錯誤訊息或失敗。
否則,請呼叫同步方法
projects.locations.buckets.create來建立 bucket。
建立 bucket 後,請建立接收器,將記錄項目轉送至 bucket,並設定記錄檔檢視表,控管哪些人可以存取新 bucket 中的記錄檔,以及他們可以存取哪些記錄檔。您也可以更新 bucket,設定自訂保留期限和受限欄位。
列出及查看記錄檔 bucket 的詳細資料
本節說明如何列出及查看專案、資料夾或組織中的記錄檔 bucket 詳細資料。
列出值區
如要列出與 Google Cloud 專案相關聯的記錄檔 bucket,並查看保留設定等詳細資料,請按照下列步驟操作:
Google Cloud 控制台
在 Google Cloud 控制台中,前往「Logs Storage」(記錄檔儲存空間) 頁面:
如果您是使用搜尋列尋找這個頁面,請選取子標題為「Logging」的結果。
名為「Log buckets」(記錄檔 bucket) 的表格會列出與目前Google Cloud 專案相關聯的 bucket。
下表列出每個記錄檔 bucket 的下列屬性:
- 名稱:記錄檔 bucket 的名稱。
- 說明:bucket 的說明。
- 保留期限:Cloud Logging 儲存 bucket 資料的天數。
- 區域:儲存 bucket 資料的地理位置。
- 狀態:值區是否鎖定。
如果 bucket 待 Cloud Logging 刪除,則其表格項目會加上 warning 警告符號。
gcloud
執行 gcloud logging buckets list 指令:
gcloud logging buckets list
您會看到記錄檔 bucket 的下列屬性:
LOCATION:儲存 bucket 資料的區域。BUCKET_ID:記錄檔 bucket 的名稱。RETENTION_DAYS:Cloud Logging 儲存 bucket 資料的天數。LIFECYCLE_STATE:指出值區是否正等待 Cloud Logging 刪除。LOCKED:值區是否鎖定。CREATE_TIME:表示 bucket 建立時間的時間戳記。UPDATE_TIME:表示 bucket 上次修改時間的時間戳記。
您也可以只查看一個值區的屬性。舉例來說,如要查看 global 區域中 _Default 記錄檔 bucket 的詳細資料,請執行 gcloud logging buckets describe 指令:
gcloud logging buckets describe _Default --location=global
REST
如要列出與 Google Cloud 專案相關聯的記錄檔 bucket,請使用 Logging API 中的 projects.locations.buckets.list。
查看 bucket 詳細資料
記錄檔 bucket 的詳細資料包括名稱、說明、位置和保留期限。您也可以查看記錄檔 bucket 的建立時間和上次更新時間,以及連結的 BigQuery 資料集名稱 (如有)。
如要查看單一記錄檔 bucket 的詳細資料,請按照下列步驟操作:
Google Cloud 控制台
在 Google Cloud 控制台中,前往「Logs Storage」(記錄檔儲存空間) 頁面:
如果您是使用搜尋列尋找這個頁面,請選取子標題為「Logging」的結果。
在記錄檔 bucket 上,按一下 more_vert「More」(更多),然後選取「View bucket details」(查看 bucket 詳細資料)。
對話方塊會列出記錄檔 bucket 的下列屬性:
- 名稱:記錄檔 bucket 的名稱。
- 說明:記錄檔 bucket 的說明。
- 保留期限:Cloud Logging 儲存 bucket 資料的天數。
- 區域:儲存 bucket 資料的地理位置。
- Observability Analytics:指出 bucket 是否已升級為使用 Observability Analytics。
- BigQuery 分析:指出 BigQuery 資料集是否連結至值區。
- BigQuery 資料集:提供 BigQuery 資料集的連結,點選後會在「BigQuery Studio」頁面開啟。此外,系統也會顯示啟用 BigQuery 連結的日期。
gcloud
執行 gcloud logging buckets describe 指令。
例如,下列指令會回報 _Default bucket 的詳細資料:
gcloud logging buckets describe _Default --location=global
您會看到記錄檔 bucket 的下列屬性:
createTime:表示 bucket 建立時間的時間戳記。description:記錄檔 bucket 的說明。lifecycleState:指出值區是否正等待 Cloud Logging 刪除。name:記錄檔 bucket 的名稱。retentionDays:Cloud Logging 儲存 bucket 資料的天數。updateTime:表示 bucket 上次修改時間的時間戳記。
REST
如要查看單一記錄檔 bucket 的詳細資料,請使用 Logging API 中的 projects.locations.buckets.get。
管理 bucket
本節說明如何使用 Google Cloud CLI 或 Google Cloud 控制台管理記錄檔 bucket。
更新 bucket
如要更新 bucket 的屬性 (例如說明或保留期限),請按照下列步驟操作:
Google Cloud 控制台
如要更新 bucket 的屬性,請按照下列步驟操作:
-
在 Google Cloud 控制台中,前往「Logs Storage」(記錄檔儲存空間) 頁面:
如果您是使用搜尋列尋找這個頁面,請選取子標題為「Logging」的結果。
找出要更新的 bucket,然後按一下「More」(更多) 圖示 more_vert。
選取「編輯 bucket」。
視需要編輯 bucket。
按一下「Update bucket」(更新 bucket)。
gcloud
如要更新 bucket 的屬性,請執行 gcloud logging buckets update 指令:
gcloud logging buckets update BUCKET_ID --location=LOCATION UPDATED_ATTRIBUTES
例如:
gcloud logging buckets update my-bucket --location=global --description "Updated description"
REST
如要更新 bucket 的屬性,請使用 Logging API 中的 projects.locations.buckets.patch。
設定自訂保留期限
建立記錄檔 bucket 時,您可以自訂 Cloud Logging 在 bucket 中儲存記錄檔的期限。如果 _Default 記錄檔 bucket 位於專案中,您也可以設定該記錄檔 bucket 的保留期限。
您無法變更 _Required 記錄檔 bucket 的保留期限。您也無法延長資料夾或組織中記錄檔 bucket 的保留期限。不過,您可以建立記錄檔接收器,將資料夾或組織層級的記錄項目轉送至專案中的記錄檔 bucket,然後設定該記錄檔 bucket 的保留期限。
如果縮短記錄檔 bucket 的保留期限,系統會提供 7 天的寬限期,不會刪除過期的記錄檔。您無法查詢或查看過期的記錄。不過,在這 7 天內,您可以延長 bucket 的保留期限,藉此還原完整存取權。寬限期內儲存的記錄會計入保留費用。
保留強制執行程序具有最終一致性。如果將記錄項目寫入記錄檔 bucket 時,記錄項目已超過 bucket 的保留期限,您或許可以短暫看到這些記錄項目。舉例來說,如果您將 10 天前的記錄項目傳送至保留期限為 7 天的記錄檔 bucket,系統會儲存這些記錄項目,最後再清除。這些記錄項目不會計入保留費用。但會計入儲存空間費用。為盡可能降低儲存空間費用,請勿寫入早於 bucket 保留期限的記錄項目。
如要更新自訂記錄檔值區或專案中 _Default 記錄檔值區的保留期限,請按照下列步驟操作:
Google Cloud 控制台
如要更新記錄檔 bucket 的保留期限,請按照下列步驟操作:
-
在 Google Cloud 控制台中,前往「Logs Storage」(記錄檔儲存空間) 頁面:
如果您是使用搜尋列尋找這個頁面,請選取子標題為「Logging」的結果。
針對要更新的值區,按一下 more_vert「More」(更多),然後選取「Edit bucket」(編輯值區)。
在「Retention」(保留) 欄位中,輸入您希望 Cloud Logging 保留記錄檔的天數 (1 到3650 days天)。
按一下「Update bucket」(更新 bucket)。新的保留期限會顯示在「Logs bucket」(記錄檔值區) 清單中。
gcloud
如要更新使用者定義記錄檔 bucket 或專案中 _Default 記錄檔 bucket 的保留期限,請先設定 RETENTION_DAYS 的值,然後執行 gcloud logging buckets update 指令:
gcloud logging buckets update BUCKET_ID --location=LOCATION --retention-days=RETENTION_DAYS
舉例來說,如要將 global 位置中 _Default bucket 的記錄保留一年,指令應如下所示:
gcloud logging buckets update _Default --location=global --retention-days=365
如果延長 bucket 的保留期限,保留規則會從延長後開始生效,不會溯及既往。記錄在適用保留期限結束後即無法復原。
鎖定 bucket
鎖定 bucket 以防止更新時,也會鎖定 bucket 的保留政策。資料保留政策鎖定後,必須等到 bucket 中的所有記錄項目都達到 bucket 的保留期限,才能刪除 bucket。如要避免意外刪除含有鎖定記錄檔 bucket 的專案,請為專案新增防刪除鎖定。詳情請參閱「使用留置權保護專案」。
如要防止任何人更新或刪除記錄檔 bucket,請鎖定 bucket。如要鎖定 bucket,請按照下列步驟操作:
Google Cloud 控制台
Google Cloud 控制台不支援鎖定記錄檔 bucket。
gcloud
如要鎖定 bucket,請執行 gcloud logging buckets update 指令並加上 --locked 旗標:
gcloud logging buckets update BUCKET_ID --location=LOCATION --locked
例如:
gcloud logging buckets update my-bucket --location=global --locked
REST
如要鎖定 bucket 的屬性,請使用 Logging API 中的 projects.locations.buckets.patch。將 locked 參數設為 true。
刪除值區
您可以刪除符合下列任一條件的記錄檔 bucket:
在下列任一情況下,您無法刪除記錄檔 bucket:
- 記錄檔 bucket 已鎖定,無法更新,且儲存的記錄項目尚未達到 bucket 的保留期限。
記錄檔 bucket 有一或多個連結。如要判斷記錄檔 bucket 是否有連結,可以使用 Google Cloud 控制台,或執行
gcloud logging links list指令。必要時,請使用
gcloud logging links delete指令刪除連結。如果刪除連結,也會一併刪除任何相關聯的構件,其中可能包括連結的 BigQuery 資料集。
發出刪除指令後,記錄檔 bucket 會轉換為 DELETE_REQUESTED 狀態,並維持該狀態 7 天。在這段時間範圍內,Logging 會繼續將記錄轉送至記錄檔 bucket。如要停止將記錄檔轉送至記錄檔 bucket,請刪除或修改將記錄項目轉送至 bucket 的記錄檔接收器。
您無法建立新的記錄檔 bucket,並使用與處於 DELETE_REQUESTED 狀態的記錄檔 bucket 相同的名稱。
如要刪除記錄檔 bucket,請按照下列步驟操作:
Google Cloud 控制台
如要刪除記錄檔 bucket,請按照下列步驟操作:
-
在 Google Cloud 控制台中,前往「Logs Storage」(記錄檔儲存空間) 頁面:
如果您是使用搜尋列尋找這個頁面,請選取子標題為「Logging」的結果。
找出要刪除的值區,然後按一下more_vert「More」(更多)。
如果「Linked dataset in BigQuery」(BigQuery 中已連結的資料集) 欄顯示連結,請刪除連結的 BigQuery 資料集:
- 按一下「Edit bucket」(編輯 bucket)。
- 清除「建立連至這個值區的新 BigQuery 資料集」,按一下「完成」,然後點選「更新值區」。
返回「Logs Storage」(記錄檔儲存空間) 頁面後,按一下要刪除的值區的 more_vert「More」(更多),然後繼續執行後續步驟。
選取「刪除 bucket」。
在確認面板中,按一下「刪除」。
在「Logs Storage」(記錄檔儲存空間) 頁面中,bucket 會顯示待刪除的指標。7 天後,系統會刪除 bucket,包括當中的所有記錄。
gcloud
如要刪除記錄檔 bucket,請執行 gcloud logging buckets delete 指令:
gcloud logging buckets delete BUCKET_ID --location=LOCATION
REST
如要刪除 bucket,請使用 Logging API 中的 projects.locations.buckets.delete。
還原已刪除的 bucket
您可以還原或取消刪除處於待刪除狀態的記錄檔 bucket。如要還原記錄檔 bucket,請按照下列步驟操作:
Google Cloud 控制台
如要還原待刪除的記錄檔 bucket,請按照下列步驟操作:
-
在 Google Cloud 控制台中,前往「Logs Storage」(記錄檔儲存空間) 頁面:
如果您是使用搜尋列尋找這個頁面,請選取子標題為「Logging」的結果。
針對要還原的值區,按一下 more_vert「More」(更多),然後選取「Restore deleted bucket」(還原已刪除的值區)。
在確認面板中,按一下「還原」。
在「Logs Storage」(記錄檔儲存空間) 頁面中,記錄檔 bucket 的待刪除指標會移除。
gcloud
如要還原待刪除的記錄檔 bucket,請執行 gcloud logging buckets undelete 指令:
gcloud logging buckets undelete BUCKET_ID --location=LOCATION
REST
如要還原待刪除的值區,請使用 Logging API 中的 projects.locations.buckets.undelete。
啟用 Observability Analytics 並從 BigQuery 查詢
本節說明如何執行下列操作:
升級記錄檔 bucket,即可使用 Observability Analytics 分析記錄資料,該工具提供 SQL 介面。
在記錄檔 bucket 建立連結。連結可建立記錄檔 bucket 與連結 BigQuery 資料集之間的連線。您可以使用 BigQuery 服務查詢連結的資料集。
升級 bucket 來使用 Observability Analytics
升級 bucket 來使用 Observability Analytics 後,您就能在 Observability Analytics 介面分析新收到的記錄項目。值區升級後即無法復原。
如要升級現有 bucket 以使用 Observability Analytics,須遵守下列限制:
- 記錄檔 bucket 是在 Google Cloud 專案層級建立。
- 除非是
_Requiredbucket,否則記錄檔 bucket 會處於解鎖狀態。 - 值區沒有待處理的更新。
如果專案位於 VPC Service Controls 範圍內:
範圍不得限制下列服務:
logging.googleapis.comcloudkms.googleapis.com:使用 CMEK 的記錄檔 bucket 必須具備這項權限。
如果記錄檔 bucket 和 Cloud KMS 金鑰位於不同的 VPC Service Controls perimeter,您就無法使用身分型輸入或輸出規則,跨 perimeter 授予 Cloud Key Management Service 金鑰存取權。
bucket 升級作業最多可能需要 10 分鐘。如需疑難排解資訊,請參閱「排解升級 bucket 以使用 Observability Analytics 的問題」。
Google Cloud 控制台
如要升級現有 bucket 以使用 Observability Analytics,請按照下列步驟操作:
-
在 Google Cloud 控制台中,前往「Logs Storage」(記錄檔儲存空間) 頁面:
如果您是使用搜尋列尋找這個頁面,請選取子標題為「Logging」的結果。
找出要升級的值區。
如果「Observability Analytics available」(可使用 Observability Analytics) 欄顯示「Upgrade」(升級),表示您可以升級記錄檔 bucket,以便使用 Observability Analytics。按一下「升級」。
開啟對話方塊,按一下「確認」。
gcloud
如要升級記錄檔 bucket 來使用 Observability Analytics,請執行 gcloud logging buckets update 指令。您必須設定 --enable-analytics 旗標,也建議您一併加入 --async 旗標:
gcloud logging buckets update BUCKET_ID --location=LOCATION --enable-analytics --async
--async 旗標會強制指令以非同步方式執行。回應為 Operation 物件。輪詢 projects.locations.operations.get 方法,直到 Operation.done 欄位設為 true 為止。Operation 結構中的其他欄位會提供要求成功或失敗的相關資訊。詳情請參閱「非同步 API 方法」。
REST
如要升級記錄檔 bucket 來使用 Observability Analytics,請使用 Cloud Logging API 的 projects.locations.buckets.updateAsync 方法。
請按照下列方式準備方法的引數:
- 將
LogBucket.analyticsEnabled布林值設為true。 - 指令的查詢參數請使用
updateMask=analyticsEnabled。
非同步方法的回應是 Operation 物件。這個物件包含方法的進度資訊。方法完成後,Operation 物件會包含要求成功或失敗的資訊。詳情請參閱「非同步 API 方法」。
updateAsync 方法可能需要幾分鐘才能完成。
建立連結的 BigQuery 資料集
如要使用 BigQuery 的功能分析記錄檔資料,請升級記錄檔 bucket 以使用 Observability Analytics,然後建立連結資料集。採用這項設定時,Logging 會儲存記錄資料,但 BigQuery 可以讀取記錄資料。
Google Cloud 控制台
如要為現有記錄檔 bucket 建立 BigQuery 資料集連結,請按照下列步驟操作:
-
在 Google Cloud 控制台中,前往「Logs Storage」(記錄檔儲存空間) 頁面:
如果您是使用搜尋列尋找這個頁面,請選取子標題為「Logging」的結果。
找到記錄檔 bucket,確認「Observability Analytics available」(可使用 Observability Analytics) 欄顯示「Open」(開啟)。
如果這個資料欄顯示「Upgrade」(升級),表示記錄檔 bucket 尚未升級為使用 Observability Analytics。設定 Observability Analytics:
- 按一下「升級」。
- 在對話方塊中,點選「確認」。
升級完成後,請繼續執行下一個步驟。
在記錄檔 bucket 上,按一下「More」(更多) more_vert,然後按一下「Edit bucket」(編輯 bucket)。
「Edit log bucket」(編輯記錄檔 bucket) 對話方塊隨即開啟。
選取「建立連至這個值區的新 BigQuery 資料集」,然後輸入新資料集的名稱。
每個 Google Cloud 專案的資料集名稱不得重複。如果輸入現有資料集的名稱,系統會顯示下列錯誤:
Dataset name must be unique in the selected region.依序點選「完成」和「更新 bucket」。
Logging 在「Logs Storage」(記錄檔儲存空間) 頁面顯示連結的資料集名稱後,BigQuery 可能需要幾分鐘才能辨識資料集。
gcloud
如要為升級後使用 Observability Analytics 的記錄檔 bucket 建立連結資料集,請執行 gcloud logging links create 指令:
gcloud logging links create LINK_ID --bucket=BUCKET_ID --location=LOCATION
您提供的LINK_ID會做為 BigQuery 資料集的名稱,且這個欄位的值在 Google Cloud 專案中不得重複。
links create 指令為非同步。非同步方法的傳回值是 Operation 物件,其中包含方法的進度資訊。方法完成後,Operation 物件會包含狀態。詳情請參閱「非同步 API 方法」。
links create 指令需要幾分鐘才會完成。
舉例來說,下列指令會為名為 my-bucket 的記錄檔 bucket 建立名為 mylink 的連結資料集:
gcloud logging links create mylink --bucket=my-bucket --location=global
每個 Google Cloud 專案的資料集名稱不得重複。如果嘗試建立的資料集與現有資料集同名,系統會顯示下列錯誤:
BigQuery dataset with name "LINK_ID" already exists.
如果嘗試為未升級至 Observability Analytics 的記錄檔 bucket 建立連結資料集,系統會回報下列錯誤:
A link can only be created for an analytics-enabled bucket.
REST
如要為已升級使用 Observability Analytics 的現有記錄檔 bucket 建立連結的 BigQuery 資料集,請呼叫 Cloud Logging API 的非同步 projects.locations.buckets.links.create 方法。
請按照下列方式準備方法的引數:
- 建構
create指令的要求主體。要求主體的格式為Link物件。 - 指令的查詢參數請使用
linkId=LINK_ID。您提供的LINK_ID會做為 BigQuery 資料集的名稱,且這個欄位的值在 Google Cloud 專案中不得重複。
非同步方法的回應是 Operation 物件。這個物件包含方法的進度資訊。方法完成後,Operation 物件會包含狀態。詳情請參閱「非同步 API 方法」。
links.create 方法需要幾分鐘才能完成。
每個 Google Cloud 專案的資料集名稱不得重複。如果嘗試建立的資料集與現有資料集同名,系統會顯示下列錯誤:
BigQuery dataset with name "LINK_ID" already exists.
如果嘗試為未升級至 Observability Analytics 的記錄檔 bucket 建立連結資料集,系統會回報下列錯誤:
A link can only be created for an analytics-enabled bucket.
輪詢非同步 API 方法
非同步方法 (例如 projects.locations.buckets.createAsync) 的回應是 Operation 物件。
呼叫非同步 API 方法的應用程式應輪詢 operation.get 方法,直到 Operation.done 欄位的值為 true:
如果
done為false,代表作業正在進行中。如要重新整理狀態資訊,請向
operation.get方法傳送GET要求。如果
done為true,則作業已完成,且已設定error或response欄位:error:設定後,非同步作業會失敗。這個欄位的值是Status物件,包含 gRPC 錯誤代碼和錯誤訊息。response:設定後,非同步作業會順利完成,且值會反映結果。
如要使用 Google Cloud CLI 輪詢非同步指令,請執行下列指令:
gcloud logging operations describe OPERATION_ID --location=LOCATION --project=PROJECT_ID
詳情請參閱「gcloud logging operations describe」。
讀取及寫入記錄項目
您不會直接將記錄寫入記錄檔值區,而是將記錄寫入Google Cloud 資源: Google Cloud 專案、資料夾或組織。接著,上層資源中的接收器會將記錄檔轉送至目的地,包括記錄檔 bucket。如果記錄檔符合接收器的篩選條件,且接收器有權將記錄檔轉送至記錄檔 bucket,接收器就會將記錄檔轉送至記錄檔 bucket 目的地。詳情請參閱「轉送記錄項目」。
每個記錄檔值區都有一組記錄檢視。如要讀取記錄檔值區中的記錄,您必須具備記錄檔值區的記錄檢視存取權。記錄檔檢視畫面可讓您授予使用者存取權,僅限存取儲存在記錄檔 bucket 中的部分記錄檔。如要進一步瞭解記錄檢視畫面,請參閱「儲存記錄項目」和「設定記錄檔 bucket 的記錄檢視畫面」。
如要讀取記錄檔 bucket 中的記錄,請按照下列步驟操作:
Google Cloud 控制台
-
前往 Google Cloud 控制台的 「Logs Explorer」頁面:
如果您是使用搜尋列尋找這個頁面,請選取子標題為「Logging」的結果。
如要自訂 Logs Explorer 中顯示的記錄,請按一下「Refine scope」(縮小範圍),然後選取所需選項。例如,您可以查看儲存在專案中的記錄,或依記錄檢視查看。
按一下 [套用]。「Query results」(查詢結果) 窗格會重新載入,並顯示符合所選選項的記錄。
詳情請參閱「Logs Explorer 總覽:縮小範圍」。
gcloud
如要從記錄檔 bucket 讀取記錄檔,請使用 gcloud logging read 指令,並新增 LOG_FILTER 來選取資料:
gcloud logging read LOG_FILTER --bucket=BUCKET_ID --location=LOCATION --view=LOG_VIEW_ID
REST
如要從記錄檔 bucket 讀取記錄檔,請使用 entries.list 方法。設定 resourceNames 來指定適當的值區和記錄檢視畫面,並設定 filter 來選取資料。
如要進一步瞭解篩選語法,請參閱「Logging 查詢語言」。
監控音量
本節說明如何監控記錄資料量。
追蹤記錄檔 bucket 中儲存的記錄檔數量
Google Cloud 控制台的「Logs Storage」(記錄檔儲存空間) 頁面會追蹤儲存在記錄檔 bucket 中的記錄資料量:
在 Google Cloud 控制台中,前往「Logs Storage」(記錄檔儲存空間) 頁面:
如果您是使用搜尋列尋找這個頁面,請選取子標題為「Logging」的結果。
「Logs Storage」(記錄檔儲存空間) 頁面會顯示Google Cloud 專案的統計資料摘要:
系統會回報下列統計資料:
當月擷取量:自當月第一天起,Google Cloud 專案儲存在記錄檔 bucket 的記錄資料量。
上個月擷取量:Google Cloud 專案在上個日曆月儲存至記錄檔 bucket 的記錄資料量。
截至月底的預估擷取量:根據目前用量,預估Google Cloud 專案在當月月底前,會儲存在記錄檔 bucket 的記錄檔資料量。
本月計費儲存量:保留超過 30 天的記錄資料量,這部分會計費。
上述統計資料不包含 _Required bucket 中的記錄。無法排除或停用該 bucket 中的記錄。
Google Cloud 控制台的「Log Router」(記錄檔路由器) 頁面提供多項工具,可協助您盡可能降低在記錄檔 bucket 儲存記錄檔的費用,或超出每月配額的儲存費用。您可以採取以下做法:
- 停用在 bucket 層級儲存記錄檔的功能。
- 排除特定記錄項目,不儲存在記錄檔 bucket。
詳情請參閱「管理接收器」。
每月儲存在記錄檔 bucket 的記錄檔位元組數快訊
如要建立警告政策,請前往Google Cloud 控制台的「Logs Storage」(記錄檔儲存空間) 頁面,按一下add_alert「Create usage alert」(建立用量警告),然後完成對話方塊。「Create alerting policy」(建立警告政策) 頁面會預先在指標類型欄位填入 logging.googleapis.com/billing/bytes_ingested。
如要建立警告政策,在寫入記錄檔 bucket 的記錄檔位元組數超過您為 Cloud Logging 設定的限制時觸發,請使用下列設定。
| 新條件 欄位 |
值 |
|---|---|
| 資源和指標 | 在「Resources」(資源) 選單中,選取「Global」(全域)。 在「Metric categories」(指標類別) 選單中,選取「Logs-based metric」(記錄指標)。 在「Metrics」(指標) 選單中,選取「Monthly log bytes ingested」(每月擷取的記錄位元組數)。 |
| 篩選器 | 無 |
| 跨時間序列 時間序列匯總 |
sum |
| 滾動週期 | 60 m |
| 滾動週期函式 | max |
| 設定快訊觸發條件 欄位 |
值 |
|---|---|
| 條件類型 | Threshold |
| 警告觸發條件 | Any time series violates |
| 門檻位置 | Above threshold |
| 門檻值 | 由您定義可接受的值。 |
| 重新測試週期 | 可接受的最低值為 30 分鐘。 |
如要進一步瞭解警告政策,請參閱「警告總覽」。
疑難排解常見問題
如果您在使用記錄檔 bucket 時遇到問題,請參閱下列疑難排解步驟和常見問題解答。
為什麼無法刪除這個 bucket?
如要刪除 bucket,請按照下列步驟操作:
確認您具備刪除 bucket 的適當權限。如需所需權限清單,請參閱「使用 IAM 控管存取權」。
列出 bucket 的屬性,判斷 bucket 是否已鎖定。如果 bucket 已鎖定,請查看 bucket 的保留期限。在值區中的所有記錄檔都達到值區的保留期限之前,您無法刪除鎖定的值區。
確認記錄檔 bucket 沒有任何連結。您無法刪除含有連結的記錄檔 bucket。
如果對連結 BigQuery 資料集的記錄檔 bucket 執行
delete指令,系統會顯示下列錯誤:FAILED_PRECONDITION: This bucket is used for advanced analytics and has an active link. The link must be deleted first before deleting the bucket
如要列出與記錄檔 bucket 相關聯的連結,請執行
gcloud logging links list指令或projects.locations.buckets.links.listAPI 方法。如要刪除連結,請使用
gcloud logging links delete指令。
哪些服務帳戶會將記錄檔轉送至我的 bucket?
如要判斷是否有任何服務帳戶具備 IAM 權限,可將記錄轉送至 bucket,請按照下列步驟操作:
-
前往 Google Cloud 控制台的「IAM」頁面:
如果您是使用搜尋列尋找這個頁面,請選取子標題為「IAM & Admin」(IAM 與管理) 的結果。
在「權限」分頁中,依「角色」查看。您會看到一個表格,其中列出與Google Cloud 專案相關聯的所有 IAM 角色和主體。
在表格的「Filter」(篩選器)文字方塊 filter_list中,輸入「Logs Bucket Writer」(記錄檔 bucket 寫入者)。
您會看到具備記錄檔 bucket 寫入者角色的主體。如果主體是服務帳戶,其 ID 會包含
gserviceaccount.com字串。選用:如要移除服務帳戶,使其無法將記錄轉送至 Google Cloud 專案,請選取服務帳戶的核取方塊 check_box_outline_blank,然後按一下「Remove」(移除)。
為什麼我已將 Google Cloud 專案從_Default接收器中排除,卻仍看到該專案的記錄?
您可能是在集中式 Google Cloud 專案的記錄檔 bucket 中查看記錄檔,該專案會匯總整個組織的記錄檔。
如果您使用 Logs Explorer 存取這些記錄,並看到從 _Default 接收器排除的記錄,則檢視畫面可能設為Google Cloud 專案層級。
如要修正這個問題,請在「Refine scope」(縮小範圍) 選單中選取「Log view」(記錄檢視),然後選取與Google Cloud 專案中_Default bucket 相關聯的記錄檢視。您應該不會再看到排除的記錄。
後續步驟
如要瞭解記錄檔 bucket API 方法,請參閱 LogBucket 參考文件。
如果您管理組織或資料夾,可以指定子資源的 _Default 和 _Required 記錄檔 bucket 位置。您也可以設定記錄檔 bucket 是否使用 CMEK,以及 _Default 記錄檔接收器的行為。詳情請參閱「調整組織和資料夾的預設設定」。
如要瞭解如何使用記錄檔 bucket 處理常見用途,請參閱下列主題: