gpt4 book ai didi

从 Kubernetes pod 中的 Google Cloud Endpoints 记录到 Stackdriver

转载 作者:行者123 更新时间:2023-12-02 11:41:30 25 4
gpt4 key购买 nike

我在从我的 golang api 登录到 Stackdriver 时遇到问题。我的配置:

  • 在三个计算引擎实例上运行的 GKE 集群
  • 在 GKE 容器集群上启用日志记录和监控
  • 转到 ESP 后面的服务
  • kube-system 命名空间中有三个节点运行 fluentd图片。名称为 fluentd-cloud-logging-xxx-xxx-xxx-default-pool-nnnnnn。
  • 当我在本地运行我的服务(使用 go-swagger 生成)时,文本条目被发送到 global堆栈驱动程序日志。但是,当我部署到我的 k8s 集群时什么都没有。

  • 我正在使用的代码如下:
        api.Logger = func(text string, args ...interface{}) {
    ctx := context.Background()

    // Sets your Google Cloud Platform project ID.
    projectID := "my-project-name"

    // Creates a client.
    client, err := logging.NewClient(ctx, projectID)
    if err != nil {
    log.Fatalf("Failed to create client: %v", err)
    }

    // Sets the name of the log to write to.
    logName := "tried.various.different.names.with.no.luck"

    // Selects the log to write to.
    logger := client.Logger(logName)

    // Sets the data to log.
    textL := fmt.Sprintf(text, args...)

    // Adds an entry to the log buffer.
    logger.Log(logging.Entry{Payload: textL, Severity: logging.Critical})

    // Closes the client and flushes the buffer to the Stackdriver Logging
    // service.
    if err := client.Close(); err != nil {
    log.Fatalf("Failed to close client: %v", err)
    }

    fmt.Printf("Logged: %v\n", textL)

    }

    我现在不需要错误报告,因为我只是在评估 - 我很乐意只发送非结构化文本。但目前尚不清楚我是否需​​要执行 Boris' discussion on error reporting/stack traces from Kubernetes pods 之类的操作只是为了得到那个?

    最佳答案

    使用 Stackdriver 日志记录客户端创建的日志条目似乎没有归入任何预定义类别,因此很难在 Logs Viewer 的基本模式中找到。

    尝试通过将查询转换为 advanced filter 来访问日志查看器“高级过滤器界面”并创建以下过滤器:

    logName:"projects/my-project-name/logs/tried.various.different.names.with.no.luck"

    这至少对我有用。

    关于从 Kubernetes pod 中的 Google Cloud Endpoints 记录到 Stackdriver,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43699930/

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