Loki 不收集短寿命 pod 的日志
Posted
技术标签:
【中文标题】Loki 不收集短寿命 pod 的日志【英文标题】:Loki doesn't collect logs of short-lived pods 【发布时间】:2021-05-27 11:20:07 【问题描述】:我正在 k8s 集群中试验 jenkins。我的环境是 minikube。
我在 ubuntu 中设置了一个独立的 jenkins 服务器,然后我使用k8s plugin 来启动从属 pod 以进行作业。有时当我配置错误时,pod 的寿命很短。这些 pod 只存在几秒钟,有日志,但当 pod 消失时它们就会消失。
我尝试loki grafana 收集日志进行分析。我使用loki-stack 在 k8s 集群中安装了 loki。通过一些调整,loki-grafana 可以工作。除了由 jenkins 启动的那些之外,我可以看到 grafana 中大多数 pod 的日志。
我的问题是,是否可以收集那些短命豆荚的日志?有什么我需要配置的吗?还是根本不可能?
【问题讨论】:
【参考方案1】:https://grafana.com/docs/loki/latest/clients/promtail/configuration/#target_config
# Period to resync directories being watched and files being tailed to discover
# new ones or stop watching removed ones.
sync_period: "10s"
Promtail 将每 10 秒(重新)发现一次新的日志文件。
如果您可以让您的 Jenkins pod 的寿命长于 10 秒,那么 Promtail 将发现并跟踪它们的日志。
例如,您可以附加一个 preStop 处理程序,它会休眠 10 秒...
https://kubernetes.io/docs/tasks/configure-pod-container/attach-handler-lifecycle-event/
【讨论】:
以上是关于Loki 不收集短寿命 pod 的日志的主要内容,如果未能解决你的问题,请参考以下文章