使用 Error Reporting 收集錯誤資料

本文列出 Error Reporting 支援的環境,並提供應用程式開發人員適用的語言專屬指南連結。建議您使用語言專用的用戶端程式庫,或依賴系統自動收集的記錄檔項目;不過,您也可以使用 Cloud Logging API 或 Error Reporting API 寫入錯誤資料。舉例來說,如果您使用 Cloud Run,寫入 stderr 的例外狀況會自動傳送至 Cloud Logging。

Error Reporting 是以 Cloud Logging 為基礎建構的全球服務,可在符合下列所有條件時分析記錄檔項目:

  • Assured Workloads 已停用。詳情請參閱「Assured Workloads 總覽」。
  • 儲存記錄項目的所有記錄 bucket 均已停用客戶自行管理的加密金鑰 (CMEK)。Error Reporting 無法將記錄項目儲存在已啟用 CMEK 的記錄值區中。如要瞭解如何判斷記錄儲存空間的 CMEK 設定,請參閱驗證金鑰啟用狀態
  • 記錄檔 bucket 符合下列其中一項條件:
    • 記錄 bucket 會儲存在記錄項目來源的專案中。
    • 記錄項目已轉送至專案,然後該專案將這些記錄項目儲存在其擁有的記錄 bucket 中。

虛擬私有雲支援

Error Reporting 是支援虛擬私有雲 (VPC) 的服務。

如要降低資料竊取風險,請使用 VPC Service Controls,為 Google 代管服務建立服務範圍。如要瞭解 VPC Service Controls 和如何建立服務參數,請參閱 VPC Service Controls 說明文件

設定環境,自動回報錯誤資料

如要瞭解特定環境的設定需求,請參閱下列指南:

使用用戶端程式庫為應用程式進行插碼

如要瞭解如何設定應用程式以傳送錯誤報告,請參閱下列語言專屬設定指南:

使用 API 寫入錯誤資料

您可以執行 Error Reporting API 方法 report 或 Cloud Logging API 方法 write,向 Google Cloud 專案回報錯誤事件。

  • 如果您需要以 API 金鑰為基礎的驗證,則必須使用 Error Reporting API。如要使用 Error Reporting API 報告錯誤事件,請執行 report 方法,並將該方法的請求主體格式設為 ReportedErrorEvent 物件。

    使用 Error Reporting API 時,系統會自動產生含有格式正確錯誤訊息的記錄項目,並寫入 Cloud Logging。這些記錄項目會寫入 logName 格式如下的記錄:

    projects/PROJECT_ID/clouderrorreporting.googleapis.com%2Freported_errors
    

    由於記錄項目是由對 report 的呼叫所產生,因此您可能需要支付 Cloud Logging 擷取費用。如要控管要擷取的記錄項目,請參閱「排除篩選器」。

    如果您使用 Error Reporting API 回報錯誤事件,則本文其餘內容不適用。

  • 如要使用 Cloud Logging API,您必須格式化 LogEntry 物件,使其包含堆疊追蹤記錄或 ReportedErrorEvent 物件。如要進一步瞭解格式要求,請參閱記錄中的格式錯誤