使用 google-fluentd 将 PHP Stacktrace 引入 Stackdriver 错误报告

Getting PHP Stacktrace into Stackdriver Error Reporting with google-fluentd

是否可以将 PHP Stacktrace 和其他错误显示到 Stackdriver Error Reporting with Fluentd 和日志文件中?

对于 Java、Python 或 Go 中的某些应用程序,错误会自动显示在 Stackdriver 错误报告中,但 PHP 中不会显示,我不知道为什么。

例如,此类错误会自动发送到 Google Cloud Logging,但不会显示在错误报告中。

[error] 8795#8795: *6 FastCGI sent in stderr: "PHP message: PHP Fatal error: Uncaught Exception: Always throw this error in /var/www/example.com/index.php

更新 1

我需要此功能来监控托管在 GKE 集群中的大约二十个 PHP Symphony 应用程序和计算引擎中的其他一些应用程序。每个应用程序都定义了一个部署并将日志输出到标准输出或 /var/log/nginx/error.log(对于 Compute Engine),非常简单。

您知道如何在不修改我的应用程序的情况下在错误报告中获取这些错误吗?

基于“[...] Java、Python 或 Go 中的一些应用程序,[...]”我了解到您正在使用 Google App Engine和 PHP。由于我不知道环境(标准或灵活),我建议您阅读 this guide 关于在 App Engine 应用程序中使用 Stackdriver Logging。

如果您使用的是标准环境,请查看 this reading and writing application logs in PHP 文档。

如果您错过了可用日志中的信息,您可以创建自定义日志,这些日志也会显示在 Stackdriver 上。为此,请按照 this guide 了解如何配置 Stackdriver Logging 代理。

更新 1

Stackdriver Error Reporting doesn’t support PHP language. It is in beta for Compute Engine right now. Since I am with GCP support, I asked to change the document I mentioned in the comment 因为很混乱。我也可以为您提交功能请求,但我想知道您的用例,以便更有可能被接受。

更新 2

我为您提交了 this feature request,您现在可以添加自己的评论。您应该为 FR 加注星标以提高它的知名度并接收评论和状态更新。 Compute Engine 团队也可能会在那里提出问题。