对 .NET 应用进行插桩来 Error Reporting

您可以使用 Google.Cloud.Diagnostics 库集 将错误报告从 .NET 应用发送到 Error Reporting。

Error Reporting 已与某些 Google Cloud 服务集成,例如 App EngineCompute EngineGoogle Kubernetes Engine。Error Reporting 可显示在这些服务上运行的应用记录到 Cloud Logging 中的错误。如需了解详情,请参阅本页面上的在 Google Cloud Platform 上运行

您还可以使用 Logging 将错误数据发送到 Error Reporting。如需了解数据格式设置要求,请参阅设置 Logging 中的错误消息格式

须知事项

  1. 登录您的 Google Cloud 帐号。如果您是 Google Cloud 新手,请创建一个帐号来评估我们的产品在实际场景中的表现。新客户还可获享 $300 赠金,用于运行、测试和部署工作负载。
  2. 在 Google Cloud Console 中的项目选择器页面上,选择或创建一个 Google Cloud 项目

    转到“项目选择器”

  3. 确保您的 Google Cloud 项目已启用结算功能

  4. 启用 Error Reporting API 。

    启用 API

  5. 在 Google Cloud Console 中的项目选择器页面上,选择或创建一个 Google Cloud 项目

    转到“项目选择器”

  6. 确保您的 Google Cloud 项目已启用结算功能

  7. 启用 Error Reporting API 。

    启用 API

安装客户端库

借助 Google.Cloud.Diagnostics 库集,您可以监控和查看在几乎任何位置运行的 .NET 应用所报告的错误。

  1. 对于以 ASP.NET Core 3 或更高版本为目标的应用,请使用 Google.Cloud.Diagnostics.AspNetCore3 库。您可以从 NuGet 安装此库。
  2. 对于以早期版本的 ASP.NET Core 为目标的应用,请使用 Google.Cloud.Diagnostics.AspNetCore 库。您可以从 NuGet 安装此库。
  3. 对于以非 ASP.NET Core 框架为目标的应用,请使用 Google.Cloud.Diagnostics.Common 库。您可以从 NuGet 安装此库。

如需详细了解如何安装,请参阅 Google.Cloud.Diagnostics 库集的文档。您还可以使用问题跟踪器来报告问题。

配置客户端库

如需了解详情和示例,请参阅以下资源:

  • Google.Cloud.Diagnostics.AspNetCore3 文档
  • Google.Cloud.Diagnostics.AspNetCore 文档
  • Google.Cloud.Diagnostics.Common 文档
  • 报告错误

    如需了解详情和示例,请参阅以下资源:

  • Google.Cloud.Diagnostics.AspNetCore3 文档
  • Google.Cloud.Diagnostics.AspNetCore 文档
  • Google.Cloud.Diagnostics.Common 文档
  • 在 Google Cloud 上运行

    要使用 Google.Cloud.Diagnostics 库集,您需要具备 Identity and Access ManagementError Reporting Writer 角色。大多数 Google Cloud 计算平台均默认提供此角色。

    您可以使用以下 Google Cloud 环境配置 .NET 版 Error Reporting。

    App Engine 柔性环境

    App Engine 默认授予 Error Reporting Writer 角色

    无需明确提供凭据即可使用 Google.Cloud.Diagnostics 库集。

    系统会自动为 App Engine 柔性环境应用启用 Error Reporting。无需进行额外设置。 Error Reporting 将对从 App Engine 写入到 stderr 的消息进行分析;如果发现包含堆栈轨迹,则显示这些消息。

    如需了解如何在 Google Cloud 控制台中查看应用的错误和异常数据,请参阅查看错误

    Google Kubernetes Engine

    GKE 上,您必须在创建集群时添加 cloud-platform 访问权限范围,如以下示例命令所示:

    gcloud container clusters create example-cluster-name --scopes https://www.googleapis.com/auth/cloud-platform
    

    Compute Engine

    使用 Compute Engine 虚拟机实例时,请为每个实例添加 cloud-platform 访问权限范围。通过 Google Cloud 控制台创建新实例时,您可以在创建实例面板的身份和 API 访问权限部分执行此操作。请使用 Compute Engine 默认服务账号或您选用的其他服务账号,并在身份和 API 访问权限部分中勾选允许所有 Cloud API 的全面访问权限。无论您选择哪个服务帐号,都请确保已在 Google Cloud 控制台的 IAM 和管理部分中向该服务帐号授予 Error Reporting Writer 角色

    在本地和其他位置运行

    如需使用 Google Cloud 外部的 Google.Cloud.Diagnostics 库集,包括在您自己的工作站、数据中心的计算机或另一家云提供商的虚拟机实例上运行该库,您必须直接向 Google.Cloud.Diagnostics 库集提供您的 Google Cloud 项目 ID 和相应的服务账号凭据。

    您可以手动创建和获取服务账号凭据。指定角色字段时,请使用 Error Reporting Writer 角色。如需详细了解 Identity and Access Management 角色,请转到访问权限控制指南

    查看错误报告

    在 Google Cloud 控制台中,选择 Error Reporting,或点击以下按钮并选择项目:

    前往 Error Reporting

    如需了解详情,请参阅查看错误