設定及管理通知

您可以設定 Error Reporting,將錯誤通知傳送至所選 Cloud Monitoring 通知管道。

在下列情況中,Error Reporting 會傳送通知:

  • Google Cloud 專案中首次出現的錯誤,而且該錯誤無法與先前的錯誤歸為同一類。

  • 在標示為「已解決」的錯誤再度發生時。

管理通知管道

您可以在監控中建立、編輯及刪除通知管道。建立通知管道後,您可以設定錯誤回報功能使用這些管道。

您可以透過 Error Reporting 選取四種通知管道:電子郵件、行動裝置、Slack 和 Webhook。

事前準備

如要取得使用 Google Cloud 控制台查看及設定通知管道所需的權限,請要求管理員為您授予專案的 Monitoring Editor (roles/monitoring.editor) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。

您或許還可透過自訂角色或其他預先定義的角色取得必要權限。

如要進一步瞭解 Cloud Monitoring 角色,請參閱「使用身分與存取權管理功能控管存取權」。

建立通知管道

如要使用 Google Cloud 控制台建立通知管道,請按照下表中的管道專屬操作說明進行:

電子郵件

如要新增電子郵件通知管道,請按照下列步驟操作:

  1. 前往 Google Cloud 控制台的 「Alerting」(警告) 頁面

    前往「Alerting」(快訊)

    如果您是使用搜尋列尋找這個頁面,請選取子標題為「Monitoring」的結果

  2. 在 Google Cloud 控制台的工具列中,選取您的 Google Cloud 專案。如要設定 App Hub,請選取 App Hub 主機專案或啟用應用程式的資料夾管理專案。
  3. 按一下「編輯通知管道」
  4. 在「Email」部分中,按一下「Add new」
  5. 輸入一個電子郵件地址和說明。
  6. 按一下 [儲存]

如果您使用群組電子郵件地址做為警告政策的通知管道,請將群組設為接受來自 ErrorReportingNotifications-noreply@google.com 的郵件。

行動應用程式

使用 Google Cloud 主控台行動應用程式,即可隨時隨地監控 Google Cloud 主控台資源和監控資訊。 Google Cloud 主控台行動應用程式通知會傳送至特定裝置或特定使用者:

 Google Cloud 控制台行動應用程式通知管道的清單。

  • 「裝置」表示通知只會傳送至建立通知管道的特定裝置。如果是裝置層級的通知管道,則「顯示名稱」欄位會包含裝置資訊。
  • 使用者:表示通知會傳送至所有已安裝 Google Cloud 控制台行動應用程式的裝置。

Cloud Monitoring 會在建立管道時決定通知範圍。您無法選取或變更範圍。

如要為特定 Google Cloud 專案設定 Google Cloud 主控台行動應用程式通知管道,請按照下列步驟操作:

  1. 從行動裝置的應用程式商店安裝 Google Cloud 主控台行動應用程式。
  2. 在 Google Cloud 控制台行動應用程式中選取要查看的專案。

    選取專案後,應用程式與所選 Google Cloud 專案之間就會進行資料交換。如果系統偵測到沒有通知管道,就會建立一個。幾分鐘後,這個管道就會列在「通知管道」頁面的「行動裝置」部分。

如要將行動裝置新增為快訊政策的通知管道,請在「Notifications」(通知) 區段中選取「Google Cloud console (行動版)」,然後從清單中選擇行動裝置。

Slack

如要設定 Slack 通知,請按照下列步驟操作:

  1. 在 Slack 中:前往 Slack 網站建立 Slack 工作區和管道。記下頻道網址。

  2. 前往 Google Cloud 控制台的 「Alerting」(警告) 頁面

    前往「Alerting」(快訊)

    如果您是使用搜尋列尋找這個頁面,請選取子標題為「Monitoring」的結果

  3. 在 Google Cloud 控制台的工具列中,選取您的 Google Cloud 專案。如要設定 App Hub,請選取 App Hub 主機專案或啟用應用程式的資料夾管理專案。

  4. 按一下「編輯通知管道」

  5. 在「Slack」部分,按一下「新增」,開啟 Slack 登入頁面:

    1. 選取 Slack 工作區。
    2. 點選「允許」,啟用 Cloud Monitoring 存取 Slack 工作區的權限。這項操作會將您帶回通知管道監控設定頁面。
    3. 在「Slack 頻道名稱」欄位中,輸入要用於通知的 Slack 頻道名稱。
    4. 在「Cloud Alerting Display Name」欄位中,輸入簡短的說明性陳述。監控會在「通知管道」頁面上顯示這個欄位的值。
    5. (選用) 如要測試 Cloud Monitoring 與 Slack 工作區之間的連線,請按一下「Send test notification」。如果連線成功,您會在指定的 Slack 通知管道中看到訊息 This is a test alert notification...。請查看通知管道來確認接收情況。
  6. 如果您要用於通知的 Slack 頻道是私人頻道,則必須手動邀請 Monitoring 應用程式加入頻道:

    1. 開啟 Slack。
    2. 前往您指定的監控通知管道。

    3. 在頻道中輸入並傳送下列訊息,邀請 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 通知,請按照下列步驟操作:

  1. Webhook 處理常式:識別要接收 Monitoring Webhook 資料的公開端點網址。
  2. 前往 Google Cloud 控制台的 「Alerting」(警告) 頁面

    前往「Alerting」(快訊)

    如果您是使用搜尋列尋找這個頁面,請選取子標題為「Monitoring」的結果

  3. 在 Google Cloud 控制台的工具列中,選取您的 Google Cloud 專案。如要設定 App Hub,請選取 App Hub 主機專案或啟用應用程式的資料夾管理專案。
  4. 按一下「編輯通知管道」
  5. 在「Webhook」部分中,按一下「新增」
  6. 完成對話方塊。
  7. 按一下「Test Connection」,將測試酬載傳送至 Webhook 端點。您可以前往接收端點,確認是否已送達。
  8. 按一下 [儲存]

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 控制台編輯或刪除通知管道,請按照下列步驟操作:

  1. 前往 Google Cloud 控制台的 「Alerting」(警告) 頁面

    前往「Alerting」(快訊)

    如果您是使用搜尋列尋找這個頁面,請選取子標題為「Monitoring」的結果

  2. 按一下「編輯通知管道」

    「通知管道」資訊主頁包含各類型通知管道的專屬區段。每個部分都會列出該類型的所有設定:

    • 如要修改項目,請按一下 「編輯」。完成變更後,按一下「儲存」
    • 如要刪除項目,請按一下 「刪除」。在確認對話方塊中按一下「刪除」

透過 Google Cloud 控制台選取通知管道

如要選取現有的通知管道,您必須具備下列其中一個角色:

  • Error Reporting User
  • Error Reporting 管理員
  • 專案編輯器
  • 專案擁有者

如要選取發生新錯誤群組時要傳送通知的對象,請完成下列步驟。

  1. 前往 Google Cloud 控制台的「Error Reporting」頁面:

    前往「錯誤回報

    您也可以透過搜尋列找到這個頁面。

  2. 按一下「設定通知」,開啟「錯誤通知」頁面。

  3. 在「Notification channels」下拉式選單中,選取要傳送通知的管道。

    如果找不到所需管道,請按一下「管理通知管道」建立新管道。如要建立通知管道,您的角色必須是建立管道中列出的角色。

  4. 選取頻道後,按一下「儲存」

其他資訊

以下是您在 Error Reporting 中建立及管理通知時適用的其他資訊。

通知內容

錯誤群組的通知會包含與群組內記錄項目相關的資訊。所包含的資訊取決於發生錯誤的監控資源類型。舉例來說,部分通知可能會包含受控資源的名稱和版本。

只有在錯誤群組由區域為 global 的記錄值區中的記錄項目識別時,通知才會包含錯誤訊息。

通知傳送時機

Error Reporting 會在以下兩種情況下傳送通知:

  • 當 Error Reporting 從未偵測到該錯誤群組。
  • 當現有錯誤群組發生錯誤,且錯誤群組狀態設為 Resolved 時。

如要日後接收錯誤群組的通知,您必須將錯誤群組狀態設為 Resolved。其他動作 (例如使用 API 刪除錯誤群組或等待資料過期) 不會在發生其他錯誤時傳送通知。

通知頻率限制

Error Reporting 會根據下列規則,限制您可能因錯誤而收到的通知數量:

  • 在 60 分鐘內,最多只能傳送 5 則錯誤通知。

  • 如果在 60 分鐘的時間內發生超過 5 個錯誤,系統會採取以下行動:

    • 您會收到通知,指出接下來六小時內不會再收到通知。

    • 系統會寫入嚴重性等級為警告的記錄項目。

  • 解決錯誤群組後,該錯誤群組的通知會暫停五分鐘。

解決狀態

如果錯誤的解決狀態為「已解決」,即使先前已刪除,系統也會將解決狀態改回「未解決」,並透過錯誤回報功能傳送通知。

如果「已靜音」錯誤再次發生,Error Reporting 就不會傳送通知。

如要管理錯誤的解決狀態,請前往「管理錯誤」頁面。

行動裝置通知

Error Reporting 會將行動通知傳送至 Android 和 iOS 版Google Cloud 應用程式。如要選擇接收行動通知,請先在行動裝置上安裝應用程式:

下載 Google Cloud 應用程式

Google Cloud 控制台行動應用程式插圖。 Google Cloud 控制台行動應用程式詳細資料。