您可以設定 Error Reporting,在發生錯誤事件時,將通知傳送至所選的 Cloud Monitoring 通知管道。
在下列情況中,Error Reporting 會傳送通知:
專案中發生錯誤事件,且該事件無法與先前的錯誤歸為同一組。 Google Cloud
如果標示為「已解決」的錯誤群組中發生錯誤事件。
管理通知管道
您可以在「監控」中建立、編輯及刪除通知管道。 建立通知管道後,您可以設定 Error Reporting 使用這些管道。
Error Reporting 提供四種通知管道:電子郵件、行動裝置、Slack 和 Webhook。
事前準備
如要取得使用 Google Cloud 控制台查看及設定通知管道所需的權限,請要求管理員授予您專案的監控編輯者 (roles/monitoring.editor) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。
如要進一步瞭解 Cloud Monitoring 角色,請參閱「使用 Identity and Access Management 控制存取權」。
建立通知管道
如要使用 Google Cloud 控制台建立通知管道,請按照下表中的管道專屬操作說明操作:
電子郵件
如要新增電子郵件通知管道,請按照下列步驟操作:
-
前往 Google Cloud 控制台的 notifications「Alerting」(警告) 頁面:
如果您是使用搜尋列尋找這個頁面,請選取子標題為「Monitoring」的結果。
- 在 Google Cloud 控制台的工具列中,選取 Google Cloud 專案。如要進行 App Hub 設定,請選取 App Hub 主專案或管理專案。
- 按一下「編輯通知管道」。
- 在「電子郵件」部分中,按一下「新增」。
- 輸入單一電子郵件地址和說明。
- 按一下 [儲存]。
如果使用群組電子郵件地址做為警告政策的通知管道,請將群組設為接受來自 ErrorReportingNotifications-noreply@google.com 的郵件。
行動應用程式
使用 Google Cloud console 行動應用程式,隨時隨地監控 Google Cloud console 資源和監控資訊。 Google Cloud console 行動應用程式通知會傳送至特定裝置或特定使用者:
- 裝置:通知只會傳送至建立通知管道的特定裝置。如果是裝置範圍的通知管道,「顯示名稱」欄位會包含裝置資訊。
- 使用者:通知會傳送至所有已安裝 Google Cloud 控制台行動應用程式的裝置。
建立管道時,Cloud Monitoring 會決定通知範圍。您無法選取或變更範圍。
如要為特定 Google Cloud 專案設定 Google Cloud 控制台行動應用程式通知管道,請按照下列步驟操作:
- 從行動裝置的應用程式商店安裝 Google Cloud 主機行動應用程式。
在 Google Cloud 控制台行動應用程式中選取要查看的專案。
選取專案後,應用程式和所選 Google Cloud 專案之間就會進行資料交換。 如果沒有通知管道,系統會建立一個,並在幾分鐘後將這個管道列於「通知管道」頁面的「行動裝置」部分。
如要將行動裝置新增為快訊政策的通知管道,請在快訊的「Notifications」(通知) 區段中選取「Google Cloud console (行動版)」,然後從清單中選擇您的行動裝置。
Slack
如要設定 Slack 通知,請按照下列步驟操作:
在 Slack 中:前往 Slack 網站建立 Slack 工作區和頻道。記錄頻道網址。
-
前往 Google Cloud 控制台的 notifications「Alerting」(警告) 頁面:
如果您是使用搜尋列尋找這個頁面,請選取子標題為「Monitoring」的結果。
在 Google Cloud 控制台的工具列中,選取 Google Cloud 專案。如要進行 App Hub 設定,請選取 App Hub 主專案或管理專案。
按一下「編輯通知管道」。
在「Slack」部分,按一下「新增」,開啟 Slack 登入頁面:
- 選取 Slack 工作區。
- 點選「允許」,啟用 Cloud Monitoring 對 Slack 工作區的存取權。這項操作會將您帶回通知管道的監控設定頁面。
- 在「Slack Channel Name」(Slack 頻道名稱) 欄位中,輸入要用於通知的 Slack 頻道名稱。
- 在「Cloud Alerting Display Name」(雲端快訊顯示名稱) 欄位中,輸入簡短的描述性陳述。監控會在「通知管道」頁面顯示這個欄位的值。
- (選用) 如要測試 Cloud Monitoring 與 Slack 工作區之間的連線,請按一下「傳送測試通知」。如果連線成功,您會在指定的 Slack 通知管道中看到
This is a test alert notification...訊息。請查看通知管道來確認接收情況。
如果想將通知傳送至私人 Slack 頻道,請手動邀請 Monitoring 應用程式加入該頻道:
- 開啟 Slack。
前往你指定為監控通知管道的頻道。
在頻道中輸入並傳送下列訊息,邀請監控應用程式加入頻道:
/invite @Google Cloud Monitoring
請務必邀請 Monitoring 應用程式加入您在 Monitoring 中建立通知管道時指定的私人管道。您可以選擇是否要邀請監控應用程式加入公開頻道。
Webhook
設定 Webhook 通知管道前,請先考量以下事項:
- Webhook 僅支援公開端點。公開端點可透過公開網際網路完全存取,例如透過 HTTP (
port:80) 或 HTTPS (port:443)。通知服務必須能夠建立與端點的連線,如果是 HTTPS,則必須驗證伺服器的安全憑證。 - 如果 Cloud Run 函式已設為通知管道的 Webhook 端點,請確保叫用函式的使用者具備必要的驗證權限。詳情請參閱「進行驗證以叫用」和「啟用函式存取權」。
- 如要將通知資料從 Monitoring 傳送至 Microsoft Teams,您必須使用中介服務,例如 Power Automate 或 Cloud Run 函式。 設定服務以接收監控 Webhook 通知、將資料轉換為 Teams 相容格式,並將資料轉送至適當的 Microsoft Teams 管道。
設定 Webhook 通知管道
如要設定 Webhook 通知,請按照下列步驟操作:
- Webhook 處理常式:找出公開端點網址,以便接收來自 Monitoring 的 Webhook 資料。
-
前往 Google Cloud 控制台的 notifications「Alerting」(警告) 頁面:
如果您是使用搜尋列尋找這個頁面,請選取子標題為「Monitoring」的結果。
- 在 Google Cloud 控制台的工具列中,選取 Google Cloud 專案。如要進行 App Hub 設定,請選取 App Hub 主專案或管理專案。
- 按一下「編輯通知管道」。
- 在「Webhook」部分中,按一下「新增」。
- 填寫對話方塊。
- 按一下「測試連線」,將測試酬載傳送至 Webhook 端點。您可以前往接收端點驗證傳送作業。
- 按一下 [儲存]。
Webhook 結構定義
如要查看 Error Reporting 的 Webhook 結構定義,請點選下列連結:
基本驗證
除了 Cloud Monitoring 傳送的 Webhook 要求外,基本驗證還會使用 HTTP 規格來驗證使用者名稱和密碼。Cloud Monitoring 需要伺服器傳回 401 回應,並附上正確的 WWW-Authenticate 標頭。如要進一步瞭解基本驗證,請參閱下列文章:
權杖驗證
權杖驗證需要在端點網址中加入查詢字串參數,以及伺服器預期會與監控服務共用的密鑰。以下是包含權杖的網址範例:
https://www.myserver.com/stackdriver-hook?auth_token=1234-abcd
如果 Monitoring 將事件發布至端點網址,伺服器可以驗證隨附的權杖。搭配 SSL/TLS 使用這種驗證方法,可加密 HTTP 要求,防止窺探者取得權杖,效果最佳。
如需 Python 範例伺服器,請參閱這個範例伺服器。
編輯及刪除通知管道
如要使用 Google Cloud 控制台編輯或刪除通知管道,請按照下列步驟操作:
-
前往 Google Cloud 控制台的 notifications「Alerting」(警告) 頁面:
如果您是使用搜尋列尋找這個頁面,請選取子標題為「Monitoring」的結果。
按一下「編輯通知管道」。
「通知管道」資訊主頁會針對每種通知管道類型顯示專區。每個部分都會列出該類型的所有設定:
- 如要修改項目,請按一下「編輯」edit。完成變更後,請按一下「儲存」。
- 如要刪除項目,請按一下 「刪除」。在確認對話方塊中,按一下「刪除」。
透過 Google Cloud 控制台選取通知管道
如要選取現有的通知管道,您必須具備下列其中一種角色:
- Error Reporting 使用者
- Error Reporting 管理員
- 專案編輯者
- 專案擁有者
如要選取發生新錯誤群組時的通知傳送位置,請完成下列步驟。
-
前往 Google Cloud 控制台的「Error Reporting」頁面:
您也可以透過搜尋列找到這個頁面。
按一下「設定通知」,開啟「錯誤通知」頁面。
在「Notification channels」(通知管道) 下拉式選單中,選取要傳送通知的管道。
如果找不到所需管道,請按一下「管理通知管道」建立新管道。如要建立通知管道,您的角色必須是「建立管道」一文列出的其中一種。
選取頻道後,按一下「儲存」。
其他資訊
以下是在 Error Reporting 中建立及管理通知時適用的其他資訊。
通知內容
錯誤群組的通知包含與群組中記錄項目相關的資訊。內含資訊取決於發生錯誤事件的受監控資源類型。舉例來說,部分通知可能包含受監控資源的名稱和版本。
只有當區域為 global 的記錄檔值區中的記錄項目識別出錯誤群組時,通知才會包含描述錯誤事件的訊息。
系統何時會傳送通知
Error Reporting 會在下列兩種情況下傳送通知:
- 發生錯誤事件,且沒有現有錯誤群組時。
- 現有錯誤群組發生錯誤事件,且錯誤群組狀態設為「
Resolved」。
如要接收錯誤群組的後續通知,請將錯誤群組狀態設為 Resolved。如果發生其他錯誤事件,使用 API 刪除錯誤群組或等待資料過期等其他動作,都不會觸發通知。
通知頻率限制
Error Reporting 會根據下列規則,限制您因錯誤事件而收到的通知數量:
在 60 分鐘內,每個錯誤群組最多可傳送 5 則通知。
如果同一個錯誤群組在 60 分鐘內發生超過 5 個錯誤事件,就會發生下列情況:
你會收到通知,指出系統在接下來六小時內不會再傳送通知。
系統會寫入嚴重性等級為「警告」的記錄項目。
解決錯誤群組的問題後,系統會暫停傳送該錯誤群組的通知五分鐘。
解決狀態
如果錯誤群組的解決狀態為「已解決」,即使先前的錯誤事件已刪除,只要發生錯誤事件,錯誤群組的狀態就會設為「開啟」,Error Reporting 也會傳送通知。
不過,如果發生錯誤事件,且對應的錯誤群組已設為靜音,Error Reporting 就不會傳送通知。
如要管理錯誤群組的解決狀態,請參閱「管理錯誤群組」。
行動裝置通知
Error Reporting 會在 Android 和 iOS 裝置上,透過Google Cloud 應用程式傳送行動通知。如要啟用行動通知,請先在行動裝置上安裝應用程式:
