繁体   English   中英

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

[英]Logging using Stackdriver API on Kubernetes / Google Container Engine (GKE)

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

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

在检查它是否适用于minikube(我的有效负载出现在日志查看器的“ Global类别中)之后,我将应用程序部署到了Google容器引擎(GKE)上。

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

我的集群启用了Stackdriver Logging API /仅写,默认服务帐户是Editor(甚至与Owner一起尝试过),我也尝试了具有日志记录器甚至所有者访问权限的专用服务帐户(使用env GOOGLE_APPLICATION_CREDENTIALS ),我无法查看日志,并且客户端库未报告任何错误。

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

谢谢,

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

使用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: ...

笔记typegce_instance

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM