当前位置: 首页 > 面试题库 >

在Kubernetes / Google容器引擎(GKE)上使用Stackdriver API进行日志记录

爱乐邦
2023-03-14
问题内容

我有一个利用Google Cloud Logging API的go应用程序。

相关代码与他们的文档中的该示例相同:https :
//github.com/GoogleCloudPlatform/golang-
samples/blob/master/logging/logging_quickstart/main.go

检查它是否可与minikube配合使用(我的有效负载出现在Global日志查看器的类别中)后,我将应用部署在Google Container
Engine(GKE)上。

部署到那里后,我将不再看到应用程序通过日志记录API发送的日志。写入std的日志显示在GKE container类别中,但是没有跟踪使用API​​发送的条目。

我的集群启用了Stackdriver Logging
API(启用/仅写入),默认服务帐户是Editor(甚至与Owner一起尝试过),我还尝试了GOOGLE_APPLICATION_CREDENTIALS具有日志写入器甚至所有者访问权的专用服务帐户(使用env
),我看不到客户端库报告了日志并且没有错误。

可能是什么原因,或者在哪里可以开始调试此类问题?

谢谢,


问题答案:

因此,事实证明日志在那儿,但不在我期望的地方。

使用gcloud CLI,我可以看到那些日志具有资源类型gce_instance,因此出现在GCE VM Instance类别中

要弄清楚这一点:

  $ gcloud beta logging logs list
  projects/<PROJECT>/logs/<LOG_NAME>
  ...

然后

$ gcloud beta logging read projects/<PROJECT>/logs/<LOG_NAME>
---
insertId: ...
jsonPayload:
   ...
logName: ...
receiveTimestamp: ...
resource:
  labels:
    instance_id: ...
    project_id: ...
    zone: ...
  type: gce_instance
timestamp: ...

type福祉gce_instance



 类似资料:
  • 我创建了一个spring boot项目,它与云SQL(MySQL)连接。我已经在google cloud(cloudrun)中部署了这一功能,目前正在使用中。 现在,我正在尝试在kubernates enigne GKE中部署Spring boot应用程序的相同容器映像,我预计这将与mysql云sql实例连接。但是,我在应用程序POD日志中收到以下错误。 请帮忙。。。解决方案是什么

  • 我试图在Google Container Engine(GKE)上创建一个kubernetes NFS卷,并让部署使用它。 我在github存储库kubernetes-nfs-volume-on-gke中显示了以下几个步骤: 创建GKE集群和GCE持久化磁盘 配置kubectl处理GKE集群的上下文 创建PersistentVolume(PV)和PersistentVolumeClaim(PVC)

  • 我正在编写一个应用程序来监视一个运行在Google容器引擎上的kubernetes集群。在部署我的应用程序的主机上,没有和CLI,也不允许安装它们。所以我正在尝试通过REST API来做所有的事情。 为了通过REST创建集群,我可以使用GCE REST API和从Google OAuth Playground检索的承载令牌。类似于: 我也可以在这里找到Kubernetes REST API参考。所

  • 我正试图在Google容器引擎上设置Kubernetes入口,并收到超过配额的错误(请参阅下面的abbrieviated输出)。 我知道如何增加配额,但我的问题更具体:我如何判断哪些“后端”正在被消耗,从而影响配额的使用?(然后我想看看是否可以在需要时关闭它们)。

  • 编写了简单的POC来证明和测试Spring Boot和log4j2的兼容性。一旦成功,我将把它移动到真正的应用程序。 请参考下面的maven依赖关系(来自POC): 如果我不排除Spring的logback,也不添加boot-starter-log4j2,那么应用程序日志会打印到应用程序文件中,但Spring日志根本不会打印。我感觉到了依赖的问题。感谢任何帮助。

  • 我是使用库伯内特斯、Docker和GCP的新手,如果这个问题很愚蠢和(或)明显,我很抱歉。 我尝试使用谷歌示例创建带有http(s)映射的简单gRPC服务器。问题是,我的容器可以从Google cloud shell启动,没有任何问题,但部署后在Kubernetes引擎上失败。 在谷歌云控制台: 在部署详细信息'诊断'容器具有"CrashLoopBackOff"状态,并在日志中出现下一个错误: 你