如何使用logstash解析包含不同unicode字符串的字段
我使用了logstash jdbc语句 从表中选择utl_raw.cast_to_varchar2(dbms_lob.substr(字段,长度(字段)) 获取blob字段。logstash中的输出使用unicode字符,如“\v\u0004\u0000\u0000\u0000\u0001\u0005\u0001\u0004\u0019\u0000c\u0000o\u0000m\u0000。\u0000w\u0000m\u0000。\u0000d\u0000a\u0000t\u0000a\u0000。\u0000I\u0000S\u0000m\u0000e\u0000m” 哪个实际值是“com.wm.data.ISMem” 我需要替换所有unicode字符并解析数据。如何使用logstash解析包含不同unicode字符串的字段,unicode,logstash,gsub,Unicode,Logstash,Gsub,我使用了logstash jdbc语句 从表中选择utl_raw.cast_to_varchar2(dbms_lob.substr(字段,长度(字段)) 获取blob字段。logstash中的输出使用unicode字符,如“\v\u0004\u0000\u0000\u0000\u0001\u0005\u0001\u0004\u0019\u0000c\u0000o\u0000m\u0000。\u0000w\u0000m\u0000。\u0000d\u0000a\u0000t\u0000a\u000
任何人都可以建议如何重新使用它,以及在这里可以使用哪个日志存储筛选器来解析SQL输出您可以使用
mutate
筛选器中的gsub
mutate {
gsub ["field-name","\v\u0004\u0001\u0005\u0001\u0004\u0019",""]
gsub ["field=name","\u0000",""]
}
第一个将删除\v\u0004\u0001\u0005\u0001\u0004\u0019
,这似乎是某种头
第二个将从字符串中删除剩余的
\u0000
。您可以从mutate
过滤器中使用gsub
mutate {
gsub ["field-name","\v\u0004\u0001\u0005\u0001\u0004\u0019",""]
gsub ["field=name","\u0000",""]
}
第一个将删除\v\u0004\u0001\u0005\u0001\u0004\u0019
,这似乎是某种头
第二个将从字符串中删除剩余的
\u0000
。您可以使用
mutate {
gsub => [
"message", "[\\]u0000", "",
"message", "[\\]v[\\]u0004[\\]u0001[\\]u0005[\\]u0001[\\]u0004[\\]u0019", ""]
}
我希望有一种方法可以修复ruby过滤器中的编码,但我不知道它是什么。您可以使用
mutate {
gsub => [
"message", "[\\]u0000", "",
"message", "[\\]v[\\]u0004[\\]u0001[\\]u0005[\\]u0001[\\]u0004[\\]u0019", ""]
}
我希望有一种方法可以修复ruby过滤器中的编码,但我不知道它是什么。你能为不同的日志建议任何正则表达式模式吗?unicode模式改变不同的日志扫描你为不同的日志建议任何正则表达式模式,unicode模式改变吗