mat*_*oot 4 elasticsearch logstash kibana kibana-4
我已经在网上试用了一些资源,现在我已经尝试了ELK堆栈一段时间了.但我没有发现清楚地解释之间的差异的任何显著的资源fieldname,并fieldname.raw为场说的名字fieldname.
在这种情况下没有什么可尝试但我确实尝试搜索这个但没有运气.我对此的唯一主要理解是形成Kibana窗口(我不知道如何重现,遗憾地)说:fieldname是一个分析的字段.没有这样的信息fieldname.raw
我注意到的另一件事是,当我使用fieldname.raw: "value"的Kibana4 发现它显示了一点比我看到更多的结果fieldname: "value".由于我分别从这些输入中获得了559和554个结果,所以我看不出哪些丢失了.
我猜测后缀.raw是什么意思 - 它可能是日志本身的一个字段,没有Logstash的任何干预.但我想确定这是否意味着什么.如果是这样,那么如何(更重要的是,为什么?)在分析的领域中得到的结果会更少?有没有Logstash做得不对或是某种错误配置?任何指针都表示赞赏.
elasticsearch中的每个字段都有一个映射,用于描述类型以及如何分析索引.
默认情况下,字段是字符串并进行分析(删除标点符号,将单词分隔为标记等).例如,名为"path"的字段包含:
/var/log/messages
Run Code Online (Sandbox Code Playgroud)
会成为
["var", "log", "messages"]
Run Code Online (Sandbox Code Playgroud)
这意味着您无法再搜索原始字符串,并且标点符号中的任何含义都已丢失.
这是使用文本引擎进行日志数据的副作用.
由于每个logstash用户几乎立即就会遇到这种情况,因此logstash团队创建了一个模板,该模板将为名为"logstash-*"的任何索引配置映射.
此模板定义了一个名为"raw"的多字段,该字段设置为"not_analyzed".因此,您最终会在索引中包含两个项目:
path: ["var", "log", "messages"]
path.raw: "/var/log/messages"
Run Code Online (Sandbox Code Playgroud)
非常有用,特别是对于那些之前提到的首次使用者.您可以在kibana或其他查询中使用"path.raw".
编辑:关于kibana的快速说明:如果您使用分析字段,它将为每个标记创建一个项目,因此您最终会得到一个带有"var","log"和"messages"切片的饼图.
一旦你更熟悉映射和模板,你可能会考虑使你的基本字段不被分析,从而完全不需要".raw".这也允许您使用doc_values,这是另一个有趣的话题.
祝好运!
| 归档时间: |
|
| 查看次数: |
722 次 |
| 最近记录: |