您可以采用以下两种方法之一,将 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. - Roles required to enable APIs - To enable APIs, you need the Service Usage Admin IAM role ( - roles/serviceusage.serviceUsageAdmin), which contains the- serviceusage.services.enablepermission. Learn how to grant roles.
- 使用 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 页面:
您也可以使用搜索栏查找此页面。