您可以通过下列任一方式将 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,您需要拥有
serviceusage.services.enable权限。如果您 创建了项目,则可能已通过 所有者角色 (roles/owner) 拥有此权限。否则,您可以通过 Service Usage Admin 角色 (roles/serviceusage.serviceUsageAdmin) 获得此权限。 了解如何授予角色。使用 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 方法中(将 your-project-id 替换为您的实际
项目 ID
),以便启用异常报告功能:
将此方法添加到 ASP.NET 应用之后,即可在控制台的 Error Reporting 部分中查看报告到 Google Cloud 的任何 未捕获异常。 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 页面:
您也可以使用搜索栏查找此页面。