如何从在GKE上运行的Java App获取GCP错误报告(谷歌kubernetes引擎)

时间:2018-08-27 08:25:12

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

对于Java App Engine,如果Java App发生异常,我可以像this一样自动获得GCP错误报告

但是在GKE上使用Java App时,我无法获得GCP错误报告

怎么办?

2 个答案:

答案 0 :(得分:1)

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

发布到Stackdriver Error Reporting

答案 1 :(得分:1)

您应该将Stackdriver Kubernetes Monitoring安装到GKE;同时也可以将其与Prometheus一起使用。这些功能目前仍处于测试阶段(任何SLA均未涵盖)。另请参阅Fluentd数据收集器,它与Logging API十分相关。这个visual scheme可能最能说明问题,谁向谁报告?

K8 Architecture

这个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可以独立使用,尽管它们观察到相同的资源和相同的时间轴,这就是为什么两者都有意义的原因。

关于所需的访问范围:

  

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