Logstash - grok mutate gsub的语法,用空字符串替换反斜杠

时间:2016-01-05 18:22:49

标签: elasticsearch logstash logstash-grok logstash-jdbc

我遇到了Oracle SQL语句和logstash组合的问题。自动转义字符,如\和"。

在SQL语句中我定义了ie。:

to_char(milliseconds_to_date(m.originationtime),'yyyy-mm-dd\"T\"hh24:MI')

但在弹性搜索中,它保存为:

  

"接收":" 2016年1月5日\ t \ 18:46"

我对listagg生成的值范围有同样的问题:

'{' || (select listagg('\"' || cd.name || '\"' || ':'|| '\"' || cd.DATAVALUE || '\"', ', ') within group (order by cd.oid) from customdata cd where cd.messageoid = m.oid) || '}' as MsgAtt

我得到的输出是这样的:

  

" msgatt":" {\\\" CycloneIntegrationRegion \\\":\\\" AMIS \\\&#34 ;,   \\\" ToSystem \\\":\\\" FW \\\",...

我试图通过case 22534325

的解决方案进行启发
filter { 
    mutate { 
        gsub => [
            "msgatt","[\\\\\\]", "",
            "received","[\\]", "",
            "delivered","[\\]", ""
        ] 
    }
}

但没有取得圆满成功。时间戳已解决,但msgatt仍包含反斜杠。

  

" msgatt":" {\" CycloneIntegrationRegion \":\" AMIS \",\" ToSystem \&# 34;:\" FW \",...   知道怎么处理这个问题吗?

非常感谢,问候,Rudo

1 个答案:

答案 0 :(得分:0)

看起来像known issue没有好的解决方法。