multiline.pattern
指定要匹配的正则表达式模式。 请注意,Filebeat支持的正则表达式模式与Logstash支持的模式有些不同。 有关受支持的正则表达式模式的列表,请参见正则表达式支持。 根据你配置其他多行选项的方式,与指定正则表达式匹配的行将被视为上一行的延续或新多行事件的开始。 你可以设置 negate 选项以否定模式。
multiline.negate
定义是否为否定模式,也就是和上面定义的模式相反。 默认为false。
multiline.match
指定Filebeat如何将匹配的行组合到事件中。 设置在之后 (after) 或之前 (before)。 这些设置的行为取决于你为否定指定的内容:
processors:
- script:
when:
has_fields: [ 'log.file.path' ]
lang: javascript
id: add_env_info
source: >
function process(event) {
var logPath=event.Get("log.file.path");
event.Put("fileset.env", /\/data\/kairui-(\w+)\/\w+/.exec(logPath)[1]);
event.Put("fileset.project", /\/data\/kairui-\w+\/(\w+)/.exec(logPath)[1]);
if(/project[a-z-]*\.log$/.test(logPath)){
var msgInfo = /([\d-]+\s[\d:]+[\.\d]*)\s+([A-Z]+)/.exec(event.Get("message"));
if(msgInfo.length>2){
event.Put("log_time", msgInfo[1]);
event.Put("fileset.level", msgInfo[2]);
}
}
}
- timestamp:
field: log_time
timezone: Asia/Shanghai
layouts:
- '2006-01-02 15:04:05'
- '2006-01-02 15:04:05.999'
- '02/Jan/2006:15:04:05 +0800'
test:
- '2020-08-05 16:21:51.824'
- '26/Jan/2022:15:06:12 +0800'
最后通过官网指导链接、将filebeat内置的dashboard导入到Kibana里面 https://www.elastic.co/guide/en/beats/filebeat/current/load-kibana-dashboards.html