gpt4 book ai didi

go - 在 Kubernetes/Google Container Engine (GKE) 上使用 Stackdriver API 进行日志记录

转载 作者:IT王子 更新时间:2023-10-29 02:29:13 27 4
gpt4 key购买 nike

我有一个利用 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 容器 类别中,但没有我使用 API 发送的条目的踪迹。

我的集群启用了 Stackdriver 日志记录 API/只写,默认服务帐户是编辑器(甚至尝试使用所有者),我还尝试使用专用服务帐户(使用 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

关于go - 在 Kubernetes/Google Container Engine (GKE) 上使用 Stackdriver API 进行日志记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45022651/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com