请教logstash的多行日志问题,最后一行的日志总是不能获取

请教logstash的多行日志问题,最后一行的日志总是不能获取,第1张

通常日志管理是逐渐崩溃的——当日志对于人们最重要的时候,也就是出现问题的时候,这个渐进的过程就开始了。日志管理一般会经历一下3个阶段:

初级管理员将通过一些传统工具(如cat、闭握卜tail、sed、awk、perl以及grep)对日志进行检查,但它的适用范围仅限于少量的主机和日志文件类型;

考虑到现实中的可扩展性问题,日志管理也会逐步进化,使用如rsyslog和syslog-ng这样的工具进行集中化的管皮纳理;

当日志信息越来越大的时候,从快速增长的日志数据流中提轿穗取出所需的信息,并将其与其他相关联的事件进行关联,将变得越加困难,此时LogStash就提供了一个很好的解决方案

codec支持的编码格式常见有plain、json、json_lines等。

plain是最简单的编码插件,你输入什么信息,就返回什么信息,诸如上面的例子中的timestamp、type等都不会带过来。

有时候logstash采集的日志是JSON格式,那我们可以在input字段加入codec =>json来进行解析,这样就可以根据具体内容生成字段,方便分析和储态雹存。如果想让logstash输出为json格式,可以在output字段加入codec=>json。下面是一个包含json编和掘码的时间配置文件:

你会发现插件是json的时候,会自带一些信息,诸如host、@version、@timestamp。json的每个字段都是key:value格式,多个字段之间通过逗号分隔。这种输出比较长,因此我们采用json_lines编码格式稍微好一点。json_lines会把Json数据以每个key:value一行的形式展开出来。

logstash处理事件默认是单行的,如果要把多行数据进行合并,那么需要使用multiline插件。

multiline可以配置在input当中,也可以配置在filter当中。

Input中配置如下:

Filter中配唤闭核置如下:


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12160041.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存