您可以透過下列兩種方式,將 Google Kubernetes Engine 應用程式的錯誤傳送至 Error Reporting:
記錄至 Cloud Logging。如果您已使用 Cloud Logging,唯一額外要求是記錄項目必須可供 Error Reporting 辨識。如要進一步瞭解錯誤格式規定,請參閱「在 Cloud Logging 中設定錯誤格式」。
使用 Error Reporting API。您的應用程式可以透過 REST API 傳送 HTTP 要求,也可以使用幾種語言的實驗性程式庫。
使用 Logging 報告錯誤
GKE 的預設記錄代理程式提供代管解決方案,可部署及管理代理程式,將叢集記錄傳送至 Cloud Logging。代理程式的結構取決於叢集版本。如要瞭解這個代理程式,請參閱「管理 GKE 記錄」。
Error Reporting 規定例外狀況或堆疊追蹤必須包含在單一記錄項目中。大多數記錄代理程式都能辨識出多個記錄行 (每個堆疊框架都印在新的一行上) 代表堆疊追蹤,並將其做為單一記錄項目傳送至 Cloud Logging。如果代理程式無法將多行內容重建成單一錯誤,請使用 projects.events.report API 端點,控制錯誤內容。
使用 Error Reporting API 寫入錯誤
Error Reporting API 提供 report 端點,可將錯誤資訊寫入服務。
如果尚未啟用,請啟用 Error Reporting API。
啟用 API 時所需的角色
如要啟用 API,您必須具備
serviceusage.services.enable權限。如果您建立了專案,可能已透過「擁有者」角色 (roles/owner) 取得這項權限。否則,您可以透過「服務使用情形管理員」角色 (roles/serviceusage.serviceUsageAdmin) 取得這項權限。瞭解如何授予角色。使用 REST API 或用戶端程式庫,向 API 回報錯誤。
範例
ASP.NET
ASP.NET NuGet 套件會將 ASP.NET 網頁應用程式中未處理的例外狀況回報給 Error Reporting。
安裝 NuGet 套件
如要在 Visual Studio 中安裝 Stackdriver ASP.NET NuGet 套件:
- 在解決方案上按一下滑鼠右鍵,然後選取「Manage NuGet packages for solution」(管理解決方案的 NuGet 套件)。
- 選取 [Include prerelease] (包括搶鮮版) 核取方塊。
- 搜尋並安裝名為
Google.Cloud.Diagnostics.AspNet的套件。
用量
Stackdriver ASP.NET NuGet 套件安裝完成後,請新增下列陳述式至應用程式程式庫,以便開始傳送錯誤至 Stackdriver:
using Google.Cloud.Diagnostics.AspNet;
將下列 HttpConfiguration 程式碼新增至 .NET 網頁應用程式的 Register 方法,並將 your-project-id 替換為實際的專案 ID,即可啟用例外狀況回報功能:
將這個方法新增至 ASP.NET 應用程式後,您就可以在 Google Cloud 控制台的「Error Reporting」部分中,查看回報給 Google Cloud的所有未處理例外狀況。
C#
您可以在 GoogleCloudPlatform/dotnet-docs-samples 存放區中找到下列範例。如要使用這項功能,請在建構專案後指定專案 ID:
C:\...\bin\Debug> set GOOGLE_PROJECT_ID=[YOUR_PROJECT_ID]
請務必將 [YOUR_PROJECT_ID] 改為Google Cloud 控制台中的正確值。
然後,使用與下列相似的程式碼傳送例外狀況資料:
Go
Java
Node.js
Ruby
Python
PHP
請參閱「為 PHP 設定 Error Reporting」。
查看錯誤群組
前往 Google Cloud 控制台的「Error Reporting」頁面:
您也可以透過搜尋列找到這個頁面。