Filebeats 合併多行資料例項及各項引數詳解

2021-09-28 21:14:41 字數 1941 閱讀 3801

背景介紹:filebeats 作為輕量級的日誌採集軟體,可以讓我們對分布式專案的日誌進行收集,並將結果直接傳送到es進行索引。預設情況下,filebeats收集每一行資料代表乙個event,但在實際的使用過程中,經常會遇到多行合併的情況,例如收集tomcat的完整異常日誌資訊,本部落格主要通過例子的方式闡述filebeats多行資料合併的各個詳細引數的作用(官網例子不太好理解)。

模擬案例:從日誌中準確的收集tomcat的異常資訊,預先準備的日誌內容如下

配置解讀(文字描述比較抽象,結合例項配合理解):

multiline.pattern: 匹配連續多行中每行的正規表示式;

multiline.negate: 是否反對定義的正則,不反對為false,獲取連續符合上述正則的多行

反對為true,獲取連續不符合上述正則的多行;

multiline.match: 匹配到的多行的相對位置,前面為before,則再獲取後一行資料作為最終結果

後面為after,則再獲取前一行資料作為最終結果;

具體實踐:

例1:

具體配置:

配置簡述: 獲取連續符合正規表示式的多行並合併前一行作為最終結果;

實際結果:

例2:

具體配置:

配置簡述:獲取連續符合正規表示式的多行並合併後一行作為最終結果;

實際結果:

例3:

具體配置:

配置簡述:獲取連續不符合正規表示式的多行並合併前一行作為最終結果;

實際結果:

例4:

具體配置:

配置簡述:獲取連續不符合正規表示式的多行並合併後一行作為最終結果;

實際結果:

如有任何問題,歡迎指正討論,謝謝!

Oracle多行資料合併

1.多個未知數值合併 selectoperate id,max substr phone id,2 phone id from select operate id,sys connect by path phone id,phone id from select operate id,phone i...

MySQL 多行資料合併 GROUP CONCAT

表結構及資料 drop table if exists course create table course id int 11 not null,name varchar 50 default null comment 姓名 course name varchar 50 default null ...

MySQL 多行資料合併 GROUP CONCAT

表結構及資料 drop table if exists course create table course name varchar 255 character set utf8 collate utf8 general ci default null,course name varchar 25...