2016-06-21 83 views
0

例如开始我有以下JSON:Logstash字段名称与

{ 
    params{ 
    firstname : value1, 
    .lastname : value2 
    } 
} 

我如何检查是否一个字段(不是值)的名称开始"."并删除它?

B.R

+0

请问您能否给我们有效的json?用双引号?和权利冒号? – baudsp

+0

另外,您的完整配置对于回答而不用断言很多事情会很有用。 – baudsp

+0

为了保密的原因,我不能给你更多的细节,但想象一下,我收到此消息请求: 'timestamp = 11111 $ firstname = value1 $ .lastname = value2' 即时搜索可以将'.lastname'转换为'姓氏' 希望你能理解我。 –

回答

0

如果您使用的是JSON过滤器来分析你可以使用过滤器发生变异与GSUB的JSON删除所有使用JSON过滤器之前的"."。但只有当你确定这些点只在字段名称的开头。

它应该是这样的:

# Removing all the dots from the field message 
mutate { 
    gsub => ["message", "\.", ""] 
} 

json { 
    source => "message" 
}  

有一个选择,这是de_dot过滤器。你将不得不安装它,它明显是昂贵的资源。

de_dot filter documentation