Stackdriver停止从GKE容器记录日志

时间:2020-02-26 16:49:46

标签: google-cloud-platform google-kubernetes-engine stackdriver google-cloud-stackdriver google-cloud-logging

从2020年2月2日以后,部署到GKE的Spring Boot应用程序的日志停止显示在Stackdriver Logging中。那时发生的事情是Stackdriver移到了一个新的UI,该UI与GCP控制台更集成-可能与这有关系它吗?

我确实在GKE中还有其他项目,例如基于Node.js的后端,其中继续登录到Stackdriver的过程没有中断,但是Spring Boot应用程序只是保持沉默:

enter image description here

如果我在“堆栈驱动程序日志->日志查看器”的GCP控制台中选择“ Kubernetes容器”而不是“ GKE容器”,则会看到一些日志语句,特别是诸如以下错误:

WARNING: You do not appear to have access to project [my-project] or it does not exist.

Error while fetching metric descriptors for kube-proxy: Get https://monitoring.googleapis.com/v3/projects/my-project/metricDescriptors?...

Error while sending request to Stackdriver Post https://monitoring.googleapis.com/v3/projects/my-project/timeSeries?...

好的,这似乎可以开始解释问题了,但是我没有更改任何IAM权限,并且将它们与托管Node.js GKE部署的项目中的权限(可以继续记录)进行比较时,它们似乎是一样。

我是否应该在托管Spring Boot GKE部署的项目中更改一些权限,以摆脱那些Stackdriver错误?哪些IAM成员会影响那些人?需要什么角色?

1 个答案:

答案 0 :(得分:2)

事实证明,GKE集群已启用 Legacy Stackdriver Logging Legacy Stackdriver Monitoring

enter image description here

并通过将这些属性设置为Disabled并配置了 Stackdriver Kubernetes Engine Monitoring 属性来解决了该问题:

enter image description here

但是为什么在启用了旧选项的情况下,对于Node.js应用程序,Stackdriver Logging继续不间断地运行,仍然是我的一个谜。