filebeat v6.3 多行合并的步骤 多个表达式同时匹配
配置文件位于/etc/filebeat/filebeat.yml,就是filebeat的主配置文件
打开文件filebeat.yml,搜索multiline:,默认是注释的,常用的有如下三个配置:
- multiline.pattern: '^\<|^[[:space:]]|^[[:space:]]+(at|\.{3})\b|^Caused by:' #正则,自己定义,一个表示可以匹配多种模式使用or 命令也就是“|”
- multiline.negate: false #默认是false,匹配pattern的行合并到上一行;true,不匹配pattern的行合并到上一行
- multiline.match: after #合并到上一行的末尾或开头
- #优化参数
- multiline.max_lines: #最多合并500行
- multiline.timeout: 5s #5s无响应则取消合并
总的来说,multline 是模块名,filebeat爬取的日志满足pattern的条件则开始多行匹配,negate 设置为false 是需要的,因为我们的多行语句都需要连着上一行,match 合并到末尾。
由于正则表达是你需要实际匹配你自己想要满足的条件,如果直接fillebet 调试,会非常麻烦,可以参考下面这个地址
多行合并的正则表达式测试地址:http://play.flysnow.org/
附上我的调试脚本,看着一下pattern和content就可以
- package main
- import (
- "fmt"
- "regexp"
- "strings"
- )
- var pattern = `^[[:space:]]`
- var
- var negate = false
- var content = `放入自己的内容`
- func main() {
- regex, err := regexp.Compile(pattern)
- if err !=nil {
- fmt.Println("Failed to compile pattern: ", err)
- return
- }
- lines := strings.Split(content, "\n")
- fmt.Printf("matches\tline\n")
- for _, line := range lines{
- matches := regex.MatchString(line)
- if negate {
- matches = !matches
- }
- fmt.Printf("%v\t%v\n", matches, line)
- }
- }
最后附上官网地址:https://www.elastic.co/guide/en/beats/filebeat/current/multiline-examples.html
多调试,肯定不会立刻成功的。
filebeat v6.3 多行合并的步骤 多个表达式同时匹配的更多相关文章
- ELK之使用filebeat的多行过滤插件把多行合并成一行
java运行日志一般有多行,格式类似如下 格式为:日期 + 日志级别 + 日志信息 有些日志是多行的,需要使用filebeat多行插件把多行合并成一行 未使用多行插件的日志格式 修改filebeat配 ...
- knockoutjs+jquery.gridgroup 实现table数据加载和行合并
目标 使用ajax获取到json数据后,通过ko绑定到表格,然后通过jquery.gridgroup插件实现行合并,效果如下: 步骤 1.引入插件 <script src="~/Scr ...
- Java利用poi生成word(包含插入图片,动态表格,行合并)
转(小改): Java利用poi生成word(包含插入图片,动态表格,行合并) 2018年12月20日 09:06:51 wjw_11093010 阅读数:70 Java利用poi生成word(包含插 ...
- sed初理多行合并+sed之G、H、g、h使用+sed n/N使用说明
转载:[shell]sed处理多行合并 - seyjs - 博客园 (cnblogs.com) 文件格式 table=t1 name owner address table=t2 id text co ...
- mysql 多行合并一列
mysql 多行合并一列 使用的函数为: GROUP_CONCAT(exp) 其中exp 的参数类似如下: (field order by field desc separator ';') ...
- Firebird 同一字段的多行合并为一行
Firebird 同一字段的多行合并为一行用LIST函数类似于MYSQL的GROUP_CONCAT. 具体用法如下: SELECT LIST(a.GG_NAME||':'||a.GG_VALUE) ...
- (转载)按行合并两个sql的查询结果
(转载)http://blog.csdn.net/wxwstrue/article/details/6784774 Union all join 是平行合并 为水平连接 Union all 是垂直合并 ...
- Datagridview 实现二维表头和行合并【转载】
using System; using System.Collections.Generic; using System.ComponentModel; using System.Drawing; u ...
- JS行合并处理方法
//行合并 function _w_table_rowspan(col){ _w_table_firsttd = ""; _w_table_currenttd = "&q ...
随机推荐
- redis订阅发布功能
发布订阅 案例测试
- 《C程序设计语言》 练习3-5
问题描述 练习 3-5 编写函数 itob(n, s, b),将整数n转换为以b为底的数,并将转换结果以字符的形式保存到字符串s中.例如,itob(n, s, 16)把整数n格式化成十六进制整数保存在 ...
- rasdaman介绍及安装
一.分布式介绍 Rasdaman中的主节点称为Rasdaman的主机,它充当中央Rasdaman请求分派器并且控制所有服务器进程.Rasdaman管理器接收客户机请求并将这些请求分配给服务器进程.服务 ...
- jquery.min.js v1.10.3版本autocomplete方法会在text前添加搜索出多少项的文本信息 要去除
http://stackoverflow.com/questions/13011127/how-to-remove-change-jquery-ui-autocomplete-helper-text ...
- python基本数据类型:字符串及其方法(二)
格式化类 方法join() #join()用指定字符每间隔拼接字符串 name='miku' name1=' '.join(name) print(name1) 方法center() #center( ...
- 换个角度学习ASP.NET Core中间件
中间件真面目 关于ASP.NET Core中间件是啥,简单一句话描述就是:用来处理HTTP请求和响应的一段逻辑,并且可以决定是否把请求传递到管道中的下一个中间件! 上面只是概念上的一种文字描述,那问题 ...
- Linux退出vi编辑
按ESC键 跳出vi的编辑命令,然后: :w 保存文件但不退出vi:w file 将修改另外保存到file中,不退出vi:w! 强制保存,不推出vi:wq 保存文件并退出vi:wq! 强制保存文件,并 ...
- ATX插件机制-学习学习
添加插件:记录一下 https://testerhome.com/topics/16074 webview操作: https://testerhome.com/topics/12599
- 项目readme文件目录生成工具 treer
生成目录的工具呢有tree和treer,但是tree不知道怎么忽略node_modules文件夹, 而treer就简单了,下面就是基本的命令了 其中-i是指忽略xxx, -e是指导出 安装 npm i ...
- android小Demo--圆球跟随手指轨迹移动
eatwhatApp的客户端基本实现,会再后续进行整改,今天做一个在网上找到的小Demo,让屏幕中出现一个圆球,并跟随手指移动. 写个java类DrawView继承于View: public clas ...