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