跳轉到主要內容
Google Cloud 設定分成兩部分:讀取權讓 Corvo 在調查時查詢資料;告警串流只轉送你選定來源的日誌,讓新錯誤能自動開始調查。六步驟設定頁提供 Manual · Console 和 Script · gcloud 兩種操作方式,都不需要服務帳戶金鑰。

開始前

請備妥 Google Cloud 專案 ID,並確認你可以啟用 API、建立服務帳戶、授予 IAM 角色,以及建立或編輯 Cloud Logging 日誌接收器。開啟 Integrations → GCP Cloud Logging → Manage。

選擇讀取權

輸入 GCP project ID。Cloud Logging 為必要項目;其他服務依 Agent 調查需求選擇: 模擬身分還需要 IAM Service Account Credentials API(iamcredentials.googleapis.com)。這裡選的是調查時可讀取的資料;第六步才會選擇要串流的日誌。選擇 Continue。

步驟 1:啟用 API

使用 Manual · Console 時,逐一開啟 API 連結,在 Corvo 顯示的專案中選擇 Enable。清單包含 Cloud Logging、IAM Service Account Credentials,以及你選擇的其他服務。使用 Script · gcloud 時,在已登入該專案的 Cloud Shell 或終端機執行頁面產生的指令。完成後回到 Corvo,選擇 Continue。
啟用 API 步驟,顯示 Logging、IAM Credentials、Run、Monitoring 與 Trace 連結

Manual · Console 列出要啟用的 API;圖中的專案 ID 已遮蔽。

Script 模式顯示產生的 gcloud services enable 指令

Script · gcloud 會產生同一組 API 的啟用指令。

步驟 2:建立服務帳戶

建立帳戶 ID 為 corvo-agent 的服務帳戶。Corvo 會顯示完整電子郵件地址:
若帳戶已存在,確認地址一致即可。不要建立或下載金鑰。
建立服務帳戶步驟,顯示帳戶 ID、地址與建立連結

帳戶 ID 必須是 corvo-agent;Corvo 會在地址中帶入你的專案。

步驟 3:授予讀取角色

從 Corvo 開啟專案 IAM 頁面。選擇 Grant access,將 corvo-agent 的地址填入新主體,加入設定頁列出的所有角色。Cloud Logging Viewer 一定要授予。儲存專案 IAM 設定。

步驟 4:允許模擬身分

在 Google Cloud 的 Service Accounts 開啟 corvo-agent,進入 Principals with access,選擇 Grant access。將設定頁顯示的 Corvo 執行服務帳戶地址填入新主體,授予 roles/iam.serviceAccountTokenCreator,然後儲存。 這項授權要設在 corvo-agent 服務帳戶上。Permissions 分頁管理的是 corvo-agent 本身可存取的資源,不是這項授權的位置。Corvo 執行身分是被授權者,corvo-agent 是被模擬的帳戶。
專案讀取角色與服務帳戶模擬身分分別授予不同主體

第三步授予資料讀取權;第四步讓 Corvo 使用該服務帳戶。

步驟 5:驗證存取權

檢查專案、API、角色與模擬身分授權,選擇 Bind & Verify。Corvo 會檢查模擬身分、Cloud Logging,以及你選擇的其他服務。失敗項目會連回相關設定步驟。新啟用的 API 與 IAM 授權可能需要時間生效;請等待頁面顯示的重試結束再重新驗證。 確認:每項檢查都顯示 VERIFIED,專案顯示 CONNECTED。

步驟 6:選擇來源並連接串流

選擇最低嚴重程度 WARNING、ERROR 或 CRITICAL,再至少選一個來源:
  • Cloud Run:全部服務或指定服務。
  • GKE:全部叢集、指定叢集、命名空間或容器。
  • Compute Engine:全部執行個體或指定執行個體。
一開始不會預選來源。選取上層項目也會包含日後在其下新增的資源。GKE 和 Compute Engine 建議清單來自最近七天有寫入的日誌;列出這些來源需要 Cloud Monitoring Viewer 權限。找不到資源時,選擇 Can’t find it? Add by name,輸入確切識別值。來源選擇器也支援搜尋、重新整理及顯示系統命名空間。
來源選擇器,顯示 Cloud Run、GKE、Compute Engine 與產生的篩選條件

圖為 Edit sources 中的來源選擇器。初次設定使用相同選項,最後按 Connect。

使用 Manual · Console 時,在 Log Router 建立名為 corvo-alert-sink 的日誌接收器。將目的地設為 Cloud Pub/Sub topic,貼上 Corvo 產生的 Topic 和 Inclusion filter。使用 Script · gcloud 時,在已登入的 Cloud Shell 或終端機執行頁面產生的指令。請以 Corvo 當下顯示的篩選條件為準;例如選取所有 Cloud Run 服務且最低嚴重程度為 ERROR 時,條件是:
同時選取 Cloud Run、GKE 或 Compute Engine 時,條件會更長。回到 Corvo 選擇 Connect。系統會檢查日誌接收器、目的地、實際篩選條件、發佈權限與接收管線。通過後選擇 Finish。 確認:告警串流顯示 STREAMING,且 Active filter 符合所選來源與嚴重程度。選擇 Skip for now 只會保留讀取權,不會開始自動傳送日誌。

變更或停止串流

選擇 Edit sources 可修改嚴重程度與監控來源。在 Log Router 更新接收器篩選條件,或執行 Corvo 更新後的指令,再選擇 Update streaming 驗證實際設定。Stop streaming 會移除日誌接收器發布至 Corvo Topic 的權限;接收器仍保留在你的專案中,corvo-agent 的讀取角色也不變。Reconfigure access 可重新設定讀取權。

疑難排解

  • API 檢查失敗:確認 Corvo 列出的 API 都在指定專案啟用,包括 IAM Service Account Credentials。
  • 讀取角色檢查失敗:在專案 IAM 核對 corvo-agent 地址,以及失敗項目指定的角色。
  • Token Creator 檢查失敗:在 corvo-agent → Principals with access,確認 Corvo 執行身分具有 roles/iam.serviceAccountTokenCreator。
  • 無法連接日誌接收器:確認 corvo-alert-sink 已啟用,目的地及 Inclusion filter 與 Corvo 顯示的值完全相同,再選擇 Retry。
  • 沒有收到調查:確認狀態為 STREAMING,檢查 Active filter,並確認所選來源有寫入達到最低嚴重程度的日誌。只有 CONNECTED 讀取權不會自動傳送日誌。