您可以透過下列任一方式,將 Compute Engine 應用程式中的錯誤傳送至 Error Reporting:
記錄至 Cloud Logging。如果您已使用 Cloud Logging,唯一額外要求是記錄項目必須可供 Error Reporting 辨識。如要進一步瞭解錯誤格式規定,請參閱「在 Cloud Logging 中設定錯誤格式」。
使用 Error Reporting API。您的應用程式可使用 REST API 來傳送 HTTP 要求,或充分利用多種語言的實驗程式庫。
使用 Logging 報告錯誤
如要將 Compute Engine 應用程式連結至 Error Reporting,請將例外狀況或其他錯誤傳送至 Logging。
例如:
- 視環境需要安裝 Logging
google-fluentd代理程式。如需操作說明,請參閱「安裝 Logging 代理程式」。 修改應用程式,讓應用程式將例外狀況和其堆疊追蹤記錄到 Logging。
您必須在同一個記錄項目中,加入單一錯誤或例外狀況的所有資訊,包括任何堆疊追蹤的所有框架。如果所有資訊並未一併提供,Error Reporting 可能無法偵測到錯誤。您可以為記錄項目酬載使用結構化 JSON 格式,納入每項錯誤的不同資訊。
Java
請將以下內容新增到您的 pom.xml 檔案中:
然後使用下方程式碼傳送例外狀況資料:
Python
首先,安裝 fluent-logger-python 程式庫:
sudo pip install fluent-logger
然後使用下方程式碼傳送例外狀況資料:
Node.js
首先,請安裝 fluent-logger-node 程式庫:
npm install fluent-logger
然後使用下方程式碼傳送例外狀況資料:
Go
首先,請安裝 fluent-logger-golang 套件:
go get github.com/fluent/fluent-logger-golang/
然後使用下方程式碼傳送錯誤資料:
使用 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」頁面:
您也可以透過搜尋列找到這個頁面。