首页 > 解决方案 > 使用 google-fluentd 将 PHP Stacktrace 导入 Stackdriver 错误报告

问题描述

是否可以使用 Fluentd 和日志文件将 PHP Stacktrace 和其他错误显示到 Stackdriver 错误报告中?

对于 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 集群中的大约 20 个 PHP Symphony 应用程序以及 Compute Engine 中的其他一些应用程序。每个应用程序都定义了一个部署并将日志输出到 stdout 或 in /var/log/nginx/error.log(对于 Compute Engine),非常简单。

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

标签: phpnginxgoogle-cloud-platformstackdrivergoogle-cloud-error-reporting

解决方案


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

如果您使用的是标准环境,请查看此 PHP文档中的读写应用程序日志。

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

更新 1

Stackdriver Error Reporting 不支持 PHP 语言。它目前处于 Compute Engine 测试版中。由于我支持 GCP,因此我要求更改我在评论中提到的文档,因为这令人困惑。我也可以为您提交功能请求,但我想知道您的用例,以便更有可能被接受。

更新 2

我为您提交了此功能请求,您现在可以添加自己的评论。您应该为 FR 加星标,以使其更具可见性并接收评论和状态更新。Compute Engine 团队也可能会在那里提问。


推荐阅读