【问题标题】:How get GCP Error Reporting from Java App running on GKE ( google kubernetes engine )如何从 GKE 上运行的 Java 应用程序获取 GCP 错误报告(谷歌 kubernetes 引擎)
【发布时间】:2019-02-01 18:08:19
【问题描述】:

在Java App Engine的情况下,如果Java App发生异常,我可以像this一样自动获取GCP错误报告

但是对于 GKE 上的 Java 应用程序,我无法获得 GCP 错误报告

它是怎么做到的?

【问题讨论】:

    标签: java google-cloud-platform google-kubernetes-engine google-cloud-error-reporting


    【解决方案1】:

    您应该将Stackdriver Kubernetes Monitoring 安装到 GKE;同时也可以和Prometheus一起使用。这些功能目前仍处于测试阶段(未包含在任何 SLA 中)。另请参阅Fluentd 数据收集器,它与Logging API 相当相关。这个visual diagram 可以解释最可靠的谁向谁报告:

    SLF4J example 这个SLF4J example 展示了如何从 Java 环境中记录日志,Logging Application Events with Java 有相关文档(您可能正在寻找的内容)。原则上,Java 环境中的记录器需要告诉本地代理发生了什么。

    关于 Kubernetes 中的Logging API,参见Logging Using StackdriverCustomizing Stackdriver Logs for Kubernetes Engine with Fluentd;有不止一种方法可以做到这一点。

    Monitoring APILogging API 可以独立使用,但它们仍然观察相同的资源和相同的时间线,这就是使用两者有意义的原因。

    关于所需的访问范围:

    您必须是包含您的集群的项目的所有者。

    【讨论】:

      【解决方案2】:

      doc 中所述,App Engine 环境应用程序会自动启用 Stackdriver 错误报告。但是在 GKE 上,您必须在创建集群时添加云平台访问范围。收集错误的首选方法是能够使用 REST APIError Reporting Client Libraries 发布到 Stackdriver Error Reporting

      【讨论】:

        猜你喜欢
        • 2020-10-22
        • 2018-12-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-01-28
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多