概述
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 中文字段乱码问题所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复