Log-pilot日志采集收集java堆栈异常日志

一、前言
微服务应用发展迅速,建立一套集中式日志收集系统,将所有节点上的日志统一收集、管理、访问,将极大提高定位问题的效率。

二、k8s集群日志收集方案
在测试环境部署了log-polit+elk的方案;部署完成之后,日志系统收集java多行异常日志,存在kibana分行的现象,如下图所示;
在这里插入图片描述
三、配置Log-polit
1)经过多次的测试,Fliebeat需要更改配置才能处理跨多行日志。使用Log-pilot组件,采集插件支持Filebeat、Fluentd两种,Log-Pilot 能够自动感知宿主机上容器的创建删除事件,进而动态配置容器日志采集配置文件,因此Filebeat、Fluentd的采集配置是有固定模板,配置则需要在Log-poilt打包镜像前配置。
2)本人使用的版本为:log-pilot:v0.9.7-filebeat, log-polit官方源码:https://github.com/AliyunContainerService/log-pilot.git ,通过git clone 下载到本地,在filebeat.tpl文件中添加红框中的的参数,如下图所示
在这里插入图片描述

 参数详情:
  multiline.pattern: '^\['   	  // 匹配是将多行日志所有不是以[符号开头的行合并成一行
  multiline.negate: true		 //  是否需要对pattern条件转置使用,不翻转设为true,反转设置为false
  multiline.match: after 		//   匹配pattern后,与前面(before)还是后面(after)的内容合并为一条日志

3)使用代码库的Dockerfile重新生成镜像、部署,kibana显示的日志合并为一行,如下图。
在这里插入图片描述

Alt

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐