我有一个利用Google Cloud Logging API的go应用程序。
相关代码与他们的文档中的该示例相同:https : //github.com/GoogleCloudPlatform/golang- samples/blob/master/logging/logging_quickstart/main.go
检查它是否可与minikube配合使用(我的有效负载出现在Global日志查看器的类别中)后,我将应用部署在Google Container Engine(GKE)上。
Global
部署到那里后,我将不再看到应用程序通过日志记录API发送的日志。写入std的日志显示在GKE container类别中,但是没有跟踪使用API发送的条目。
GKE container
我的集群启用了Stackdriver Logging API(启用/仅写入),默认服务帐户是Editor(甚至与Owner一起尝试过),我还尝试了GOOGLE_APPLICATION_CREDENTIALS具有日志写入器甚至所有者访问权的专用服务帐户(使用env ),我看不到客户端库报告了日志并且没有错误。
GOOGLE_APPLICATION_CREDENTIALS
可能是什么原因,或者在哪里可以开始调试此类问题?
谢谢,
因此,事实证明日志在那儿,但不在我期望的地方。
使用gcloud CLI,我可以看到那些日志具有资源类型gce_instance,因此出现在GCE VM Instance类别中
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
type