Closed ixiaoyi93 closed 2 years ago
src: '[log][file][path]' 应该这样
src: '[log][file][path]' 应该这样
在logstash 里面的配置,
if [fields][project_name] == "ptjsb-flink" {
grok {
match => { "[log][file][path]" => "/data/yarn/local/usercache/flink/appcache/(?<application_id>([\w]+))/" }
remove_field => "[log][file][path]"
}
现在我把段搬到gohangout,始终不行呢。在gohangout 配置:
- Grok:
if:
- EQ($.fields.project_name,"ptjsb-flink")
src: '[log][file][path]'
target: 'application_id'
match:
- '(<application>([\w]+))'
remove_fields: ['[log][file][path]']
大佬,看看是我哪里配置的有问题吗
自己多看下文档以及文档里面的相关的超链接 。
inputs:
- Stdin:
codec: json
filters:
- Grok:
if:
- EQ($.fields.project_name,"ptjsb-flink")
src: '[log][file][path]'
match:
- '(?P<application_id>([\w]+))'
remove_fields: ['[log][file][path]']
outputs:
- Stdout: {}
需求总结起来就是通过 if 判断 fields.project_name == ptjsb-flink 时,进行过滤 log.file.path 路径的 application_1561493907054_1579 字段。
通过如下正则表达式,能够获取到我想要的字段,如下:
在 gohangout 中的配置,如下:
但是从目前的结果来看,这段配置未生效。能帮忙看看吗?感谢大佬