首页 > 解决方案 > Kubernetes Pod 的多行日志事件

问题描述

当 docker 部署到 gcp kubernetes 集群时,即使它通过应用程序记录器记录在多行中,如何将日志事件聚合到单个条目。

对于 AWS,我们可以使用日期时间格式来识别事件的开始。GCP中的替代品是什么。

谢谢。

标签: loggingkubernetesgoogle-cloud-platformmultiline

解决方案


在我看来,您需要一个专门的解决方案来真正有效地管理您的日志。

聚合/管理/共享日志最流行的解决方案之一是ELK 堆栈,即ElasticSearch, Logstash, Kibana或类似堆栈的另一个版本,但使用Fluentd而不是Logstash: EFK stack

ELK Stack 有一个流媒体或“数据托运人”列表,名称为beats. 其中之一是Filebeat,不出所料,它适用于文件。简而言之,它可以通过tail方法读取文件。所以你可以读取任何文件。

Filebeat 支持配置选项来解决您的问题。他们是:

multiline.pattern:
multiline.negate: 
multiline.match:

一般来说,你应该定义正则表达式,它明确地描述你的行的开头。

所以,试试这个。该堆栈支持与 Kubernetes 的不同类型的集成,例如集群内部署和自动发现


推荐阅读