開始前的準備
請先準備:- 可接收 Corvo 更新的 Telegram 帳號或群組。
- 在 Corvo 要使用的儲存庫安裝 GitHub App 的權限。
- 包含待監控 Cloud Run 服務的 Google Cloud Project ID。
- 在該 Google Cloud 專案啟用 API、建立 Service Account 與編輯 IAM Policy 的權限。
1. 登入 Corvo
開啟 Corvo 並登入,然後從側欄選擇 Integrations。 確認結果: Integrations 頁面會顯示 Telegram、GCP 與 GitHub 卡片。2. 連接 Telegram
在 Telegram bot 卡片選擇私訊或群組。開啟連結或掃描 QR Code 前往 Telegram,並在 Telegram 完成連接。如果 Bot 已經在群組中,請使用 Corvo 顯示的綁定指令。 確認結果: 卡片顯示 DM CONNECTED 或 GROUP CONNECTED。 每個帳號只能有一個有效的 Telegram 目的地。若要在私訊與群組之間切換,請先中斷目前的目的地。3. 連接 GitHub
開啟 GitHub 整合並選擇 Install the Corvo GitHub App。選擇 Corvo 可以存取的 GitHub 帳號與儲存庫,再完成安裝。GitHub 組織可能要求管理員核准。 確認結果: Corvo 顯示已連接的 GitHub 帳號與儲存庫存取範圍。4. 完成 Google Cloud 設定
開啟 Integrations,在 GCP 卡片選擇 Manage,然後輸入 GCP project ID。 在 Which services should Corvo read? 中,Cloud Logging 會固定啟用。另可選擇 Corvo 在調查時應讀取的資料來源:
選擇 Continue,開啟六步驟設定流程。步驟 1 至 4 會引導你在 Google Cloud Console 完成變更,Corvo 會在步驟 5 驗證結果。

選擇 Google Cloud 專案與調查資料來源
步驟 1:啟用 API
使用每個 Open in Console 連結,在 Google Cloud Console 選擇 Enable。所有設定都需要以下 API:- Cloud Logging API:
logging.googleapis.com - IAM Service Account Credentials API:
iamcredentials.googleapis.com

步驟 1 列出所選資料來源需要的每個 API
步驟 2:建立 Service Account
複製 Corvo 顯示的 Service Account Email,格式如下:corvo-agent 建立 Service Account。Display Name 與 Description 可依組織的命名規範填寫。請勿建立或下載 Key。
確認結果: Service Accounts 頁面中有一個 Email 與 Corvo 顯示內容完全相同的帳號。

步驟 2 提供 Service Account Email 與 Console 連結
步驟 3:授予讀取 Role
選擇 Open IAM in Console,再選擇 Grant access。- 將
corvo-agentService Account Email 貼到 New principals。 - 加入
roles/logging.viewer。 - 使用 Add another role 加入 Corvo 列出的每個選用服務 Role。
- 儲存 IAM 綁定。
corvo-agent 具有 Logs Viewer,以及所選服務需要的 Role。

步驟 3 列出專案需要授予的讀取 Role
步驟 4:允許 Impersonation
這項綁定讓 Corvo 能為corvo-agent 取得短期憑證,因此不需要長期有效的 Service Account Key。
- 選擇 Open Service Accounts in Console。
- 開啟
corvo-agentService Account。 - 開啟 Permissions,然後選擇 Grant access。
- 將頁面顯示的 Corvo Runtime Service Account 貼到 New principals。
- 授予
roles/iam.serviceAccountTokenCreator並儲存。
corvo-agent Service Account 上,不要將 Token Creator 設為一般的專案 Role。
確認結果: corvo-agent 的 Permissions 頁面顯示 Corvo Runtime Principal 具有 Service Account Token Creator。

步驟 4 顯示 Impersonation Principal、Role 與目標 Service Account
步驟 5:檢查、綁定與驗證
檢查 Project ID、Service Account、API、Role 與 Impersonation 綁定,然後選擇 Bind & Verify。 Corvo 會依序驗證設定,並在每項檢查通過時更新對應列。檢查項目包含 Service Account Impersonation、Cloud Logging 存取,以及一開始選擇的每項服務。若檢查失敗,頁面會標示失敗項目,並連回可以修正問題的步驟。 IAM 與 API 變更可能需要一些時間才會生效。Corvo 發現設定仍可能在傳播時,會保持頁面開啟並顯示目前的重試次數。請等待所有重試結束,再修改設定。 確認結果: 每一列都顯示 VERIFIED,頁面顯示專案已完成綁定與驗證。
驗證前檢查每個 API、Role 與身分
步驟 6:啟用告警串流
讀取權讓 Corvo 在收到事件後調查專案。告警串流則讓 Corvo 可以自動發現符合條件的 Cloud Run 錯誤。若要自動開始調查,請完成此步驟。- 選擇最低嚴重程度:WARNING and above、ERROR and above 或 CRITICAL and above。
- 選擇一項 Cloud Run 服務或 All Cloud Run services。
- 在 Google Cloud Console 開啟 Log Router,然後選擇 Create sink。
-
將 Sink Name 設為
corvo-alert-sink。 - 選擇 Cloud Pub/Sub topic 作為 Sink Destination,並貼上 Corvo 顯示的 Topic。
-
貼上 Corvo 顯示的 Inclusion Filter。若監控所有 Cloud Run 服務且最低嚴重程度為 ERROR,格式如下:
若選擇單一服務,Filter 也會包含
resource.labels.service_name。 - 在 Google Cloud Console 建立 Sink。
- 回到 Corvo 並選擇 Connect。

步驟 6 提供完整的 Log Router Sink 設定
5. 將 Cloud Run 服務綁定至儲存庫
在 Google Cloud 整合頁面找到 Bind services to their GitHub repos。- 輸入完整的 Cloud Run Service Name。
- 輸入 GitHub Owner。
- 輸入 Repository Name。
- 選擇 Bind。
檢查完整設定
- Telegram 顯示已連接的目的地。
- GitHub App 可以存取預期的儲存庫。
- GCP 整合顯示正確的專案及 CONNECTED。
- 告警串流顯示 STREAMING,且服務與嚴重程度 Filter 符合預期。
- 每項 Cloud Run 服務都已綁定至正確的 GitHub 儲存庫。