我有一个在 GKE 中运行的 Rails 应用,我正在尝试设置 Google Cloud 错误报告。我已经安装了
stackdriver
gem 并在应用程序启动时需要它。我可以从 Rails 控制台手动报告错误,不会出现问题,但它们不会出现在 GCP 错误报告 UI 中。
irb(main):021:0> Google::Cloud::ErrorReporting.report(Exception.new(msg: "from console")).result
=> [true, [], nil]
我还确认它配置了正确的
project_id
并且我正在 GCP UI 中查看正确的项目。
配置 GCP 错误报告可能会出现问题,以下步骤可能会帮助您解决该问题:
再次验证是否为相应的 Google Cloud 项目启用了错误报告 API。
检查与 GKE 集群关联的 ServiceAccount 是否具有所有必需的权限,并且服务帐户必须具有 “roles/errorreporting.writer” 角色才能写入 Stackdriver 错误报告。
检查是否已安装与 Ruby 相关的正确错误报告客户端库,对于 Ruby,需要 google-cloud-error_reporting gem。
再次确保 GKE 集群具有访问 GCP 服务所需的所有权限。
请参阅此官方 GCP 用于错误报告的 Instrument Ruby 应用程序以获取更多见解。
另请查看 google-cloud-error_reporting 上的此 Github 文档以了解更多详细信息。