如何删除json。我的elasticsearch字段上的前缀

时间:2016-01-11 15:59:35

标签: elasticsearch logstash

我使用ELK获取有关我的rabbitmq内容的一些信息。 这是我的conf logstash方面

json {
    source => "message"
}

但是在kibana中,我必须在json.xxx前面添加所有字段: json.sender,json.sender.raw,json.programld,json.programId.raw ...

我如何在我的字段名称中包含此json.-前缀,以便我只需要:sender,programId等?

致以最诚挚的问候并感谢您的帮助!

奖金问题:这些是什么。' raw'我必须在kibana中使用?

1 个答案:

答案 0 :(得分:1)

根据the doc

  

默认情况下,它会将解析后的JSON放在。(根目录)的根目录中   Logstash事件,但可以配置此过滤器来放置   使用目标配置将JSON插入任意任意事件字段。

所以感觉就像你的json被包装在一个名为“json”的容器中,或者你在logstash中设置了“target”而没有向我们展示。

对于“.raw”,默认的elasticsearch映射将分析您放入字段的数据,因此将“/ var / log / messages”更改为三个单词:[var,log,messages]“难以搜索。为了让您不必担心这一点,logstash会为每个字符串创建一个“.raw”版本,但不会进行分析。

您最终会制作自己的映射,并且可以对原始字段进行not_analyzed,因此您不再需要.raw版本。