您可以采用以下两种方法之一,将 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
端点,用于将错误信息写入服务。
Enable the Error Reporting API.
使用 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 页面:
您也可以使用搜索栏查找此页面。