您可以透過下列任一方式,將 EC2 應用程式中的錯誤傳送至 Error Reporting:
記錄至 Cloud Logging。如果您已使用 Cloud Logging,唯一額外要求是記錄項目必須可供 Error Reporting 辨識。如要進一步瞭解錯誤格式規定,請參閱「在 Cloud Logging 中設定錯誤格式」。
使用 Error Reporting API。您的應用程式可以透過 REST API 傳送 HTTP 要求,也可以使用幾種語言的實驗性程式庫。
使用 Logging 報告錯誤
如要將 EC2 應用程式連線至 Error Reporting,請將例外狀況或其他錯誤傳送到 Logging。
例如:
- 將 Amazon Web Services (AWS) 系統連線至 Google Cloud。 詳情請參閱「在個別 VM 中安裝 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」頁面:
您也可以透過搜尋列找到這個頁面。