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 的日志的主要内容,如果未能解决你的问题,请参考以下文章

loki日志收集系统部署

loki日志收集系统部署

loki日志收集系统部署

Loki日志收集单进程模式部署

(十三):如何用 Loki 收集查看 Kubernetes Events

轻量级日志系统 PLG(**Promtail + Loki + Grafana**)架构技术调研