您可以通过下列任一方式将 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。如需了解详情,请参阅在各个虚拟机上安装 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,您需要拥有 Service Usage Admin IAM 角色 (
roles/serviceusage.serviceUsageAdmin),该角色包含serviceusage.services.enable权限。了解如何授予角色。使用 REST API 或客户端库向 API 报告错误。
示例
ASP.NET
ASP.NET NuGet 软件包将 ASP.NET Web 应用中未捕获的异常报告给 Error Reporting。
安装 NuGet 程序包
要在 Visual Studio 中安装 Stackdriver ASP.NET NuGet 程序包,请执行以下操作:
- 右键点击您的解决方案,然后选择管理解决方案的 NuGet 程序包。
- 选中包括预发行版复选框。
- 搜索并安装名为
Google.Cloud.Diagnostics.AspNet的软件包。
用量
安装 Stackdriver ASP.NET NuGet 程序包之后,请将下列语句添加到应用代码中,以开始向 Stackdriver 发送错误:
using Google.Cloud.Diagnostics.AspNet;
将以下 HttpConfiguration 代码添加到您的.NET Web 应用的 Register 方法中(用您的实际项目 ID 替换 your-project-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
查看错误组
在 Google Cloud 控制台中,前往 Error Reporting 页面:
您也可以使用搜索栏查找此页面。