我有一个利用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日志记录API,默认服务帐户是编辑器(甚至尝试使用所有者),我也尝试使用专用服务帐户(使用env GOOGLE_APPLICATION_CREDENTIALS
)和日志编写器甚至所有者访问权限,我看不到日志,也没有从客户端库报告错误。
可能是什么原因或我在哪里可以开始调试此类问题?
谢谢,
答案 0 :(得分:4)
所以结果是日志在那里但不是我期望的那些。
使用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