設定及管理通知

您可以設定 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 控制台建立通知管道,請按照下表所列的管道專屬操作說明進行:

電子郵件

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

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

    前往「Alerting」(快訊)

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

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

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

行動應用程式

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

 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 Channel Name」(Slack 頻道名稱) 欄位中,輸入要用於通知的 Slack 頻道名稱。
    4. 在「Cloud Alerting Display Name」(雲端快訊顯示名稱) 欄位中,輸入簡短的描述性陳述。監控會在「通知管道」頁面顯示這個欄位的值。
    5. (選用) 如要測試 Cloud Monitoring 與 Slack 工作區之間的連線,請按一下「傳送測試通知」。如果連線成功,您會在指定的 Slack 通知管道中看到 This is a test alert notification... 訊息。請查看通知管道來確認接收情況。
  6. 如果想將通知傳送至私人 Slack 頻道,請手動邀請 Monitoring 應用程式加入該頻道:

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

    3. 在頻道中輸入並傳送下列訊息,邀請監控應用程式加入頻道:

      /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 通知,請執行下列操作:

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

    前往「Alerting」(快訊)

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

  3. 在 Google Cloud 控制台的工具列中,選取您的 Google Cloud 專案。如要進行 App Hub 設定,請選取 App Hub 主專案或已啟用應用程式的資料夾管理專案。
  4. 按一下「編輯通知管道」
  5. 在「Webhook」部分中,按一下「新增」
  6. 填寫對話方塊。
  7. 按一下「測試連線」,將測試酬載傳送至 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

如果 Monitoring 將事件發布至端點網址,伺服器可以驗證隨附的權杖。搭配 SSL/TLS 使用時,這種驗證方法最有效,可加密 HTTP 要求,防止窺探者取得權杖。

如需 Python 伺服器範例,請參閱這個範例伺服器

編輯及刪除通知管道

如要使用 Google Cloud 控制台編輯或刪除通知管道,請按照下列步驟操作:

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

    前往「Alerting」(快訊)

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

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

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

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

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

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

  • Error Reporting 使用者
  • Error Reporting 管理員
  • 專案編輯者
  • 專案擁有者

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

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

    前往 Error Reporting

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

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

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

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

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

其他資訊

以下是在 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 應用程式傳送行動通知。如要啟用行動通知,請先在行動裝置上安裝應用程式:

下載 Google Cloud 應用程式

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