技术文档

ELK logstash 处理多行事件(25th)

有些日志是分多行输出的,为了能正确的处理这些多行的事件,logstash必须哪些行是单一事件的一部分。多行事件处理是比较复杂的,需依赖正确的事件顺序。最佳方法是尽早的在管道中处理以保证日志有序。这就是本文要说到的logstash管道multiline codec,专门来处理合并多行事件的。

ELK logstash 处理多行事件(25th)

multiline插件最重要的方面:

  • pattern选项指定一个正则表达式。 事件匹配指定的正则表达式来确定是前一个事件的内容还是新的事件的内容。可以使用grok正则表达式的模板来配置该选项。
  • what选项有两个选择值:previous或者next。previous值指定行匹配pattern选项的内容是上一行的一部分。next指定行匹配pattern选项的内容是下一行的一部分。* negate选项适用于multiline codec 行不匹配pattern选项指定的正则表达式。

了解更多还需要看看multiline codec 和 multiline filter 插件的配置项。

下面介绍三个例子:

  • java 堆栈跟踪单个事件
  • C-style 线连续成单个事件
  • 从时间标记事件

java>

Java stack traces 包含多行内容,后面几行与初始行缩进,如下所示:

1
©2020-2024   万云SSL证书  (www.sslssl.com.cn)  万云科技   豫ICP备2020034358号-10