使用 Error Reporting 收集錯誤資料

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

Error Reporting 是建構於 Cloud Logging 的全球服務,可在下列所有情況下分析記錄項目:

  • 已停用 Assured Workloads。詳情請參閱「Assured Workloads 總覽」。
  • 在儲存記錄項目的所有記錄值區中,客戶自行管理的加密金鑰 (CMEK) 都會停用。如要瞭解如何判斷記錄集區的 CMEK 設定,請參閱「驗證金鑰啟用狀態」。
  • 記錄檔 bucket 符合下列其中一個條件:
    • 記錄值區會儲存在記錄項目來源的專案中。
    • 記錄項目會轉送至專案,然後該專案會將這些記錄項目儲存在專案擁有的記錄檔 bucket 中。
如果您在啟用 CMEK 的情況下,將記錄項目儲存在記錄資料夾中,則仍可使用錯誤回報功能。不過,您必須使用 Error Reporting 用戶端程式庫或 Error Reporting API。詳情請參閱「Error Reporting API 總覽」和「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 物件。如要進一步瞭解格式要求,請參閱「記錄中的格式錯誤」。