logstash 输入中文无法解析

_陈俊飞 发布于 2016/06/01 11:21
阅读 1K+
收藏 0

配置文件如下

input{
        stdin{}
}
filter {
    grok {
        match => { "message" => "%{DATA:tranId}\|%{WORD:compsnyId}\|%{WORD:merNo}\|%{DATA:merName}"}
    }
        urldecode {
        all_fields => true
    }
}
output{
        elasticsearch {
                hosts => "192.168.137.132:9200"
        }
        stdout{codec => rubydebug}
}



输入如下:

0000|1111|2111|中

结果没有输出中文

{
       "message" => "0000|1111|2222|中",
      "@version" => "1",
    "@timestamp" => "2016-06-01T12:20:11.812Z",
          "host" => "localhost.localdomain",
        "tranId" => "0000",
     "compsnyId" => "1111",
         "merNo" => "2222"
}

求解答
加载中
0
木号
 input{
        stdin{codec =>plain{charset=>"GBK"}
        }
}
filter {
    grok {
      #  match => { "message" => "%{DATA:tranId}\|%{WORD:compsnyId}\|%{WORD:merNo}\|(?<merName>[\u4e00-\u9fa5.]+)"}
match => { "message" => "%{DATA:tranId}\|(?<compsnyId>[\u0000-\u9999]+)\|(?<merNamde>[\u4e00-\u9fa5]+)\|(?<merName>[\u0000-\u9999]+)"}
    }
        urldecode {
        all_fields => true
    }
}
output{
        elasticsearch {
                hosts => "127.0.0.1:9200"
        }
        stdout{codec => rubydebug}
}
[\u4e00-\u9fa5]+  :指的是多个汉字。

[\u0000-\uffff]+  :代表的是多个字符(任意种)

huhu|hi|胡|中也可以输出


返回顶部
顶部