logstash filter插件

原创
2017/05/07 10:33
阅读数 234

json filter

介绍:如果数据格式是json,那么可以通过它把数据解析成你想要的数据结构

语法格式

filter {
    json {
        add_field=>...            #可选项         #hash          添加属性,默认{}
        add_tag=>...              #可选项         #array          添加标识,默认{}
        remove_field=>...         #可选项         #array         删除属性,默认{}
        remove_tag=>...            #可选项         #array         删除标识,默认{}
        source=>...                #必选项         #string       指定来源数据
        target=>...                #可选项         #string        定义将要解析的目标字段
    }
}

实例1:解析json数据

配置文件

vim conf/filter_json.conf
 input {
     stdin {
         }
     }
 filter {
     json {
         source => "message"
         target => "content"
         }
     }
 output {
         stdout {
             codec=>rubydebug
             }
     }

测试

[root@ELK-STACK logstash-1.5.5]# ./bin/logstash -f conf/filter_json.conf
Logstash startup completed
{"name":"zhai","age":12}       #输入被解析的值
{
       "message" => "{\"name\":\"zhai\",\"age\":12}",
      "@version" => "1",
    "@timestamp" => "2017-02-27T08:31:13.193Z",
          "host" => "0.0.0.0",
       "content" => {
        "name" => "zhai",   #这里就是json字段里的name
         "age" => 12        #这里就是json字段里的age
    }
}

grok filter

介绍

  • grok是目前logstash里最好的一种解析各种非结构化的日志数据的工具
  • grok可以过滤日志中你想要的字段
  • 官方patterns地址:https://github.com/logstash-plugins/logstash-patterns-core/blob/master/patterns/grok-patterns
  • 测试grok匹配规则的网址:grokdebug.herokuapp.com

可用参数

filter {
    grok {
        match=>...        #可选项        写匹配规则
    }
}

kv filter

介绍: 通过指定一个分隔符,截取key,value

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部