【问题标题】:Getting PHP Stacktrace into Stackdriver Error Reporting with google-fluentd使用 google-fluentd 将 PHP Stacktrace 导入 Stackdriver 错误报告
【发布时间】:2019-01-07 17:51:16
【问题描述】:

是否可以使用 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 中的其他一些应用程序。每个应用程序都定义了一个部署并将日志输出到标准输出或/var/log/nginx/error.log(用于计算引擎),非常简单。

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

【问题讨论】:

    标签: php nginx google-cloud-platform stackdriver google-cloud-error-reporting


    【解决方案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 Reportingdoesn’t support PHP language。它目前处于 Compute Engine 测试版中。由于我支持 GCP,因此我要求更改文档 I mentioned in the comment,因为它令人困惑。我也可以为您提交功能请求,但我想知道您的用例,以便更有可能被接受。

    更新 2

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

    【讨论】:

    • 我没有使用 App Engine。日志从计算引擎或 GKE 以google-fluentd 发送。仅缺少 PHP Stacktrace,Java、Python 和 Go 运行良好。
    • 我正在尝试重现您的问题。同时,如果您还没有,您可以查看this documentation,了解如何为 PHP 实现 Stackdriver 错误报告。
    • “感谢您的反馈!声望低于 15 人的投票将被记录,但不要更改公开显示的帖子得分”。我不能抱歉:(
    • 哈哈哈,你说得对,我的错。帮助一些人! ;)
    • 我刚刚发现you can accept the answer。这不需要声誉。
    猜你喜欢
    • 2018-02-07
    • 2018-02-27
    • 1970-01-01
    • 1970-01-01
    • 2018-09-11
    • 1970-01-01
    • 2018-04-25
    • 1970-01-01
    • 2017-09-13
    相关资源
    最近更新 更多