【问题标题】:Non-technical terms on Elasticsearch, Logstash and Kibana关于 Elasticsearch、Logstash 和 Kibana 的非技术术语
【发布时间】:2015-11-09 03:03:41
【问题描述】:

我有一个疑问。我知道 Logstash 允许我们输入 csv/log 文件并使用分隔符和列对其进行过滤。它将输出到 elasticsearch 以供 Kibana 使用。但是,在编写完conf文件后,是否需要使用命令指定索引模式:

CURL -XPUT 'http://localhost:5601/test' d 

因为我知道当你有一个 JSON 文件时,你必须定义映射等。我需要为 csv 文件和其他非 json 文件执行此步骤吗?对不起,我需要澄清我的疑问。

【问题讨论】:

  • 你的问题有点不清楚。您是在问是否需要手动创建映射,还是?

标签: json csv elasticsearch logstash kibana


【解决方案1】:

当您将文档插入新的 elasticsearch 索引时,会为您创建一个映射。这可能不是一件好事,因为它是基于每个字段的初始值。想象一个通常包含字符串的字段,但初始文档包含一个整数 - 现在您的映射是错误的。这是创建映射的好案例。

如果您通过 logstash 将文档插入到名为 logstash-YYYY-MM-DD(默认)的索引中,logstash 将应用自己的映射。它将使用您在 grok{} 中提供的任何模式提示,例如:

%{NUMBER:bytes:int}

它还会为每个字符串制作一个“原始”(未分析)版本,您可以将其作为 myField.raw 访问。这也可能不是您想要的,但您可以制作自己的映射并将其作为参数提供在 elasticsearch{} 输出节中。

您还可以制作模板,当索引模式与模板定义匹配时,elasticsearch 将应用该模板。

所以,如果你不喜欢 elasticsearch 或 logstash 的默认行为,你只需要创建一个映射。

希望对您有所帮助。

【讨论】:

  • 谢谢!我终于明白原始是什么意思了:)
猜你喜欢
  • 1970-01-01
  • 2020-10-28
  • 1970-01-01
  • 1970-01-01
  • 2013-01-03
  • 1970-01-01
  • 2011-03-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多