【问题标题】:How to view access logs for an application deployed in GKE?如何查看部署在 GKE 中的应用的访问日志?
【发布时间】:2019-08-25 01:13:09
【问题描述】:

我在 Google Kubernetes Engine 中部署了一个应用程序。它使用 Ingress 负载均衡器,目前有 2 个 Pod 运行我的应用程序,其中分发 API 请求。该应用程序是一个 Spring Boot 应用程序。我可以使用 Spring Boot 提供的访问日志单独查看对每个 pod 进行的 API 调用,但我想一次查看所有请求。我认为这是可能的,因为所有请求在分发之前首先被负载均衡器拦截。有什么办法可以做到吗?

【问题讨论】:

    标签: kubernetes google-kubernetes-engine kubernetes-ingress


    【解决方案1】:

    由于您从应用程序 pod 中获取 API 调用,听起来像是从两个 pod 中放置日志(假设它们是同一个应用程序的一部分)会有所帮助:

    kubectl logs -l app=<app name> -n <namespace>
    

    【讨论】:

    • 应用程序的访问日志被写入一个文件。kubectl logs ... 确实给出了日志但那不是访问日志。
    【解决方案2】:

    在搜索了更多之后,我找到了我想要的东西。要查看使用 GKE 部署的应用程序的访问日志,请执行以下操作:

    1. 转到 Google Kubernetes Engine 并点击服务。
    2. 单击您的应用程序正在使用的 nginx / ingress 控制器。
    3. 点击Stackdriver logs旁边的链接。

    您可以在此处找到对您的应用程序的 API 请求的实时日志。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-12
      • 2022-01-16
      • 2017-10-15
      • 2020-09-12
      • 1970-01-01
      • 2015-10-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多