是否可以通过Fluentd和日志文件将PHP Stacktrace和其他错误显示到Stackdriver Error Reporting中?
对于某些Java,Python或Go应用程序,错误会自动显示在Stackdriver Error Reporting中,但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应用程序以及Compute Engine中的其他一些应用程序。每个应用程序都有一个部署定义,并将日志输出到stdout或在/var/log/nginx/error.log
中(对于Compute Engine),非常简单。
您知道如何在错误报告中获取这些错误而不修改我的应用程序吗?
答案 0 :(得分:1)
基于“ [...]使用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。目前,它处于Compute Engine测试版中。由于我有GCP支持,因此我要求更改文档I mentioned in the comment,因为这很令人困惑。我也可以为您提出功能请求,但我想知道您的用例,因此更有可能被接受。
更新2
我为您提交了this feature request,您现在可以添加自己的评论。您应该为FR加注星标,以使其更具可见性并接收评论和状态更新。 Compute Engine小组也可能会在那里提问。