代码之家  ›  专栏  ›  技术社区  ›  Viraj

在默认位置未找到Kubernetes日志?

  •  1
  • Viraj  · 技术社区  · 3 年前

    在运行spring boot应用程序的k8s环境中,我检查了中的日志位置 /var/log /var/lib 但都是空的。然后我在中找到了日志位置 /tmp/spring.log . 这似乎是默认的日志位置。我的问题是

    1. 怎样 kubectl log 知道应该从中读取日志 /tmp 地方我在上获取日志输出 kubectl logs 命令
    2. 我配置了fluent位,其中输入为

    下列的

     [INPUT]
        Name              tail
        Tag               kube.dev.*
        Path              /var/log/containers/*dev*.log
        DB                /var/log/flb_kube_dev.db
    

    这表明它应该从 /var/log/containers/ 但它没有日志。然而,我成功地获得了流畅的bit日志。我错过了什么?

    0 回复  |  直到 3 年前
        1
  •  2
  •   Raghwendra Singh    3 年前

    Docker日志仅包含由容器进程以PID 1(容器的 entrypoint cmd 过程)。

    如果您想通过查看日志 kubectl logs docker logs ,您应该将应用程序日志重定向到标准输出,而不是文件 /tmp/spring.log . Here's 这是一个很好的例子,说明了如何以最小的努力实现这一点。


    或者,您也可以使用 hostPath 体积装载。这样,您就可以从主机上的路径直接访问日志。

    使用hostPath volumeMount时出现警告

    如果pod由于某种原因被转移到另一台主机,您的日志将不会随之移动。将在此新主机上以相同路径创建新日志文件。

        2
  •  1
  •   AndD Jalitha Kalsara    3 年前

    如果您正在搜索容器外部(以及集群的主机节点上)日志的实际位置,这取决于以下几点。我想您正在使用Docker在Kubernetes下运行您的容器,这是最常见的设置。

    在Kubernetes集群的每个节点上,可以使用以下命令检查当前使用的日志驱动程序:

    docker info | grep -i logging
    

    默认值应为 json-file ,这意味着日志将作为JSON从容器写入主机节点上的某个位置。

    如果您找到其他驱动程序,例如 journald ,则表示Docker日志记录驱动程序直接将日志发送到 systemd 杂志有许多日志驱动程序,因此作为第一项检查,您应该确保您的所有Kubernetes节点都配置为以json文件的形式进行日志记录(或者以您需要的方式获取它们)。


    完成后,您可以开始检查容器在何处记录自己的日志。选择要分析的Pod,然后:

    确定它在哪个Kubernetes节点上运行

    kubectl get pod pod-name -owide
    

    使用如下内容获取容器ID

    kubectl get pod pod-name -ojsonpath='{.status.containerStatuses[0].containerID}'
    

    其中id应该是 docker://f834508490bd2b248a2bbc1efc4c395d0b8086aac4b6ff03b3cc8fd16d10ce2c

    移除 docker:// 在运行此容器的Kubernetes节点上part和SSH,然后执行

    docker inspect container-id | grep -i logpath
    

    这将为您提供该特定容器的日志位置。你可以试试 tail 检查日志是否确实存在。


    在我的情况下,我尝试此过程的容器正在登录:

    /var/lib/docker/containers/289271086d977dc4e2e0b80cc28a7a6aca32c888b7ea5e1b5f24b28f7601ff63/289271086d977dc4e2e0b80cc28a7a6aca32c888b7ea5e1b5f24b28f7601ff63-json.log
    
    推荐文章