您可以将应用异常和错误事件发送到 Error Reporting,以便 Error Reporting 分析您Google Cloud 项目中的错误数据。您可以根据计算环境、编程语言和身份验证要求,通过以下方式收集错误数据:
- 自动收集日志:受支持的计算环境会自动将错误数据发送到 Cloud Logging,以便 Error Reporting 进行分析。例如,Cloud Run 会自动将写入
stderr的异常发送到 Logging。 - 客户端库:您可以使用特定于语言的客户端库对应用代码进行插桩处理,以直接从应用发送错误报告。
- REST API:您可以调用 Error Reporting API 或 Cloud Logging API 来写入格式化的错误事件和堆栈轨迹,包括在需要 API 密钥身份验证时。
Error Reporting 分析日志条目的时间
Error Reporting 是基于 Cloud Logging 构建的全球服务,当满足以下所有条件时,它可以分析日志条目:
- Assured Workloads 已停用。如需了解详情,请参阅 Assured Workloads 概览。
- 存储日志条目的所有日志存储桶均已停用客户管理的加密密钥 (CMEK)。Error Reporting 无法将日志条目存储在启用 CMEK 的日志存储桶中。如需了解如何确定日志存储桶的 CMEK 配置,请参阅验证密钥启用情况。
- 日志存储桶满足以下条件之一:
- 日志存储桶存储在日志条目源自的同一项目中。
- 日志条目被路由到一个项目,然后该项目将这些日志条目存储在自己拥有的日志存储桶中。
VPC Service Controls 支持
VPC Service Controls 支持 Error Reporting。
为降低数据渗漏风险,请使用 VPC Service Controls 在 Google 管理的服务周围创建服务边界。 如需了解 VPC Service Controls 以及如何创建服务边界,请参阅 VPC Service Controls 文档。
配置环境以自动报告错误数据
如需了解特定于环境的配置要求,请参阅以下指南:
- App Engine 柔性环境
- App Engine 标准环境
- Apps 脚本
- Cloud Run functions
- Cloud Run
- Compute Engine
- Google Kubernetes Engine
- Amazon EC2
使用客户端库对应用进行插桩
如需了解如何配置应用以发送错误报告,请参阅特定于语言的配置指南:
使用 API 写入错误数据
您可以执行 Error Reporting API 方法 report 或 Logging API 方法 write,向您的 Google Cloud 项目报告错误事件。
如果您需要基于 API 密钥的身份验证,则必须使用 Error Reporting API。如需使用 Error Reporting API 报告错误事件,请执行方法
report,并将该方法的请求正文格式设置为ReportedErrorEvent对象。使用 Error Reporting API 时,系统会自动生成包含格式正确的错误消息的日志条目,并将其写入 Logging。这些日志条目会写入
logName格式如下的日志:projects/PROJECT_ID/clouderrorreporting.googleapis.com%2Freported_errors
由于日志条目是通过对
report的调用生成的,因此您可能需要支付 Logging 提取费用。如需控制要注入哪些日志条目,请参阅排除过滤器。如果您想使用 Logging API,则必须对
LogEntry对象进行格式设置,使其包含堆栈轨迹或ReportedErrorEvent对象。如需详细了解格式要求,请参阅日志中的格式错误。