我是靠谱客的博主 忧虑蜜粉,最近开发中收集的这篇文章主要介绍logstash 中文字段乱码问题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+sS+(?<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+sS+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

}

}

最后

以上就是忧虑蜜粉为你收集整理的logstash 中文字段乱码问题logstash 中文字段乱码问题的全部内容,希望文章能够帮你解决logstash 中文字段乱码问题logstash 中文字段乱码问题所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(33)

评论列表共有 0 条评论

立即
投稿
返回
顶部