logstash 中文字段乱码问题

logstash 中文字段乱码问题

一、出现问题环境

最近接入深信服防火墙日志,该日志字段大多为中文字段。样本如下:

<134>Dec 13 16:39:45 localhost fwlog: 日志类型:系统操作, 用户:admin(local), IP地址:172.18.11.100, 操作对象:用户注销, 操作类型:注销, 描述:admin(local) 172.18.11.100 注销成功

经测试grok日志正常解析。

用kv或者json格式解析,中文字段名出现乱码。

 

二、参考文档

网络大部分文档为字符集选择问题。但是都不适合我这个问题。

后续找到这个github问题说明,该参考文档表示,该问题存在于5.x或者6.x。

参考文档地址:https://github.com/elastic/logstash/issues/9789

三、升级版本测试

官方下载最新版本:

wget https://artifacts.elastic.co/downloads/logstash/logstash-7.16.1-linux-x86_64.tar.gz

测试效果如下:中文字段名正常显示,字段添加也正常

 

四、配置文件参考

配置1:用kv切分字段

conf配置文件1 

input {

stdin{

}

}

filter {



grok {

match => [

"message",'<\d+>(?<time>\w+\s+\S+\s+\S+)\s+\S+\s\S+(?<temp>.*)'

]

}

kv {

source => "temp"

field_split => ", "

value_split => ":"

}

mutate {

add_field => ["severity","%{操作对象}"]



}



}

output {

stdout {

codec => rubydebug

}

}

配置2: 通过字段处理json格式解析。

注:需安装json_encode插件:/bin/logstash-plugin install logstash-filter-json_encode

conf配置2 

input {

stdin{

}

}

filter {



grok {

match => [

"message",'<\d+>(?<time>\w+\s+\S+\s+\S+)\s+\S+\s\S+\s(?<temp>.*)'

]

}



json_encode {

source => "temp"

target => "temp1"

}



mutate {

gsub => ["temp1",',','","']

gsub => ["temp1",':','":"']

}

mutate {

add_field => ["temp2","{%{temp1}}"]

}



json {

source => "temp2"

}

}

output {

stdout {

codec => rubydebug

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值