您可以設定 Error Reporting,將錯誤通知傳送至指定的 Cloud Monitoring 通知管道。
在下列情況中,Error Reporting 會傳送通知:
Google Cloud 專案中首次出現的錯誤,而且該錯誤無法與先前的錯誤歸為同一組。 Google Cloud
在標示為「已解決」的錯誤再度發生時。
管理通知管道
您可以在「監控」中建立、編輯及刪除通知管道。 建立通知管道後,您可以設定 Error Reporting 使用這些管道。
Error Reporting 提供四種通知管道:電子郵件、行動裝置、Slack 和 Webhook。
事前準備
如要取得透過 Google Cloud 控制台查看及設定通知管道所需的權限,請要求管理員授予專案的Monitoring 編輯者 (roles/monitoring.editor
) 身分與存取權管理角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。
如要進一步瞭解 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 端點,請確認叫用函式的使用者具備必要的驗證權限。詳情請參閱「驗證以進行呼叫」和「啟用函式存取權」。
- Webhook 通知管道與 Microsoft Teams 不相容。 如要將監控服務的通知資料傳送至 Microsoft Teams,請建立整合層來接收監控服務的 Webhook,然後重新將資料傳送至 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
的記錄檔 bucket 中,記錄檔項目識別出錯誤群組時,通知才會包含錯誤訊息。
系統何時會傳送通知
Error Reporting 會在下列兩種情況下傳送通知:
- Error Reporting 從未發現錯誤群組。
- 現有錯誤群組發生錯誤,且錯誤群組狀態設為「
Resolved
」。
如要接收錯誤群組的後續通知,請將錯誤群組狀態設為 Resolved
。如果發生其他錯誤,使用 API 刪除錯誤群組或等待資料過期等其他動作,都不會觸發通知。
通知頻率限制
Error Reporting 會根據下列規則,限制您可能因錯誤而收到的通知數量:
在 60 分鐘內,最多可因錯誤傳送 5 則通知。
如果在 60 分鐘內發生超過 5 個錯誤,就會發生下列情況:
系統會通知你,接下來六小時內不會再收到通知。
系統會寫入嚴重性等級為警告的記錄項目。
解決錯誤群組問題後,該錯誤群組的通知會暫停五分鐘。
解決狀態
如果解決狀態為「已解決」的錯誤再次發生,即使先前已刪除,解決狀態也會變回「開啟」,錯誤報告服務也會傳送通知。
如果已靜音的錯誤再次發生,Error Reporting 不會傳送通知。
如要管理錯誤的解決狀態,請前往「管理錯誤」頁面。
行動裝置通知
Error Reporting 會透過 Android 和 iOS 裝置上的Google Cloud 應用程式傳送行動通知。如要啟用行動通知,請先在行動裝置上安裝應用程式: