我使用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中使用?
答案 0 :(得分:1)
根据the doc:
默认情况下,它会将解析后的JSON放在。(根目录)的根目录中 Logstash事件,但可以配置此过滤器来放置 使用目标配置将JSON插入任意任意事件字段。
所以感觉就像你的json被包装在一个名为“json”的容器中,或者你在logstash中设置了“target”而没有向我们展示。
对于“.raw”,默认的elasticsearch映射将分析您放入字段的数据,因此将“/ var / log / messages”更改为三个单词:[var,log,messages]“难以搜索。为了让您不必担心这一点,logstash会为每个字符串创建一个“.raw”版本,但不会进行分析。
您最终会制作自己的映射,并且可以对原始字段进行not_analyzed,因此您不再需要.raw版本。