使用 Error Reporting 收集錯誤資料

您可以將應用程式例外狀況和錯誤事件傳送至 Error Reporting,讓 Error Reporting 分析Google Cloud 專案中的錯誤資料。視運算環境、程式設計語言和驗證需求而定,您可以透過下列方式收集錯誤資料:

  • 自動收集記錄:支援的運算環境會自動將錯誤資料傳送至 Cloud Logging,供 Error Reporting 分析。舉例來說,Cloud Run 會自動將寫入 stderr 的例外狀況傳送至 Logging。
  • 用戶端程式庫:您可以使用特定語言的用戶端程式庫檢測應用程式程式碼,直接從應用程式傳送錯誤報告。
  • REST API:您可以呼叫 Error Reporting API 或 Cloud Logging API,寫入格式化的錯誤事件和堆疊追蹤記錄,包括需要 API 金鑰驗證的情況。

Error Reporting 分析記錄項目時

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

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

VPC Service Controls 支援

VPC Service Controls 支援 Error Reporting。

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

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

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

使用用戶端程式庫為應用程式加入檢測功能

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

使用 API 寫入錯誤資料

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

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

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

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

    由於記錄檔項目是透過呼叫 report 產生,因此您可能會產生 Logging 擷取費用。如要控管要擷取的記錄項目,請參閱「排除篩選器」。

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