您可以使用 Java 版 Error Reporting 软件包从 Java 应用向 Error Reporting 发送错误报告。在以下情况下使用 Java 版 Error Reporting 程序包创建错误组:
- 您的日志存储桶具有客户管理的加密密钥 (CMEK)。
- 您的日志存储分区不在
global
区域。 - 您想要报告自定义错误事件。
Error Reporting 已与某些 Google Cloud 服务集成,例如 App Engine、Compute Engine 和 Google Kubernetes Engine。Error Reporting 可显示在这些服务上运行的应用记录到 Cloud Logging 中的错误。如需了解详情,请转到本页面上的在 Google Cloud 上运行。
您还可以使用 Logging 将错误数据发送到 Error Reporting。如需了解数据格式设置要求,请参阅设置 Logging 中的错误消息格式。
准备工作
- 登录您的 Google Cloud 账号。如果您是 Google Cloud 新手,请创建一个账号来评估我们的产品在实际场景中的表现。新客户还可获享 $300 赠金,用于运行、测试和部署工作负载。
-
在 Google Cloud Console 中的项目选择器页面上,选择或创建一个 Google Cloud 项目。
-
启用 Error Reporting API 。
-
在 Google Cloud Console 中的项目选择器页面上,选择或创建一个 Google Cloud 项目。
-
启用 Error Reporting API 。
安装客户端库
借助 Java 版 Error Reporting 程序包,您可以监控和查看几乎在任何位置运行的 Java 应用所报告的错误。
如需详细了解如何安装,请参阅 Java 版 Error Reporting 软件包的文档。您还可以使用问题跟踪器来报告问题。
配置客户端库
您可以自定义 Java 版 Error Reporting 程序包的行为。请参阅 Java API 参考文档。
在 Google Cloud 上运行应用
如需使用 projects.events.report
创建错误组,您的服务帐号需要具备 Error Reporting Writer 角色 (roles/errorreporting.writer
)。
某些 Google Cloud 服务会自动将 Error Reporting Writer 角色 (roles/errorreporting.writer
) 授予相应的服务帐号。但是,您必须将此角色授予某些服务的相应服务帐号。
App Engine 柔性环境
App Engine 会自动为您的默认服务帐号授予 Error Reporting Writer 角色 (roles/errorreporting.writer
)。
无需明确提供凭据即可使用 Java 版 Error Reporting 软件包。
系统会自动为 App Engine 柔性环境应用启用 Error Reporting。 无需进行额外设置。Google Kubernetes Engine
要将 Error Reporting 与 Google Kubernetes Engine 配合使用,请执行以下操作:
请确保容器要使用的服务帐号已被授予 Error Reporting Writer 角色 (
roles/errorreporting.writer
)。您可以使用 Compute Engine 默认服务帐号或自定义服务帐号。
如需了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
创建集群并向集群授予
cloud-platform
访问权限范围。例如,以下 create 命令指定了
cloud-platform
访问权限范围和一个服务帐号:gcloud container clusters create CLUSTER_NAME --service-account SERVICE_ACCT_NAME --scopes=cloud-platform
Compute Engine
如需将 Error Reporting 与 Compute Engine 虚拟机实例搭配使用,请执行以下操作:
请确保已向虚拟机实例要使用的服务帐号授予 Error Reporting Writer 角色 (
roles/errorreporting.writer
)。您可以使用 Compute Engine 默认服务帐号或自定义服务帐号。
如需了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
-
在 Google Cloud 控制台中,转到虚拟机实例页面:
如果您使用搜索栏查找此页面,请选择子标题为 Compute Engine 的结果。
选择要接收
cloud-platform
访问权限范围的虚拟机实例。依次点击停止和修改。
在身份和 API 访问权限部分,选择具有 Error Reporting Writer 角色 (
roles/errorreporting.writer
) 的服务帐号。在访问权限范围部分中,选择允许所有 Cloud API 的全面访问权限,然后保存更改。
点击启动/恢复。
示例
使用 Cloud Logging Logback Appender 或 java.util.logging Handler 记录的异常会自动报告给 Error Reporting 控制台。
以下示例演示了如何使用 Java 客户端库报告自定义错误事件:
要了解如何检索和管理错误统计信息以及各个事件的数据,请查看 Java API 参考文档。
在本地开发环境中运行应用
如需在本地开发环境(例如在自己的工作站上运行库)使用 Java 版 Error Reporting 软件包,您必须为 Java 版 Error Reporting 软件包提供本地应用默认凭据。如需了解详情,请参阅向 Error Reporting 进行身份验证。
如需从本地开发环境使用本页面上的 Java 示例,请安装并初始化 gcloud CLI,然后使用用户凭据设置应用默认凭据。
- 安装 Google Cloud CLI。
-
如需初始化 gcloud CLI,请运行以下命令:
gcloud init
-
为您的 Google 账号创建本地身份验证凭据:
gcloud auth application-default login
如需了解详情,请参阅 为本地开发环境设置身份验证。
projects.events.report
方法也支持 API 密钥。
如果要使用 API 密钥进行身份验证,则无需设置本地应用默认凭据文件。 如需了解详情,请参阅
在 Google Cloud 身份验证文档中创建 API 密钥。
查看错误报告
在 Google Cloud 控制台中,前往 Error Reporting 页面:
您也可以使用搜索栏查找此页面。
如需了解详情,请参阅查看错误。