向 Elasticsearch 添加数据

编辑

有多种方法可以将数据摄取到 Elasticsearch 中。您选择哪种方法取决于您处理的是带时间戳的数据还是不带时间戳的数据、数据的来源、复杂程度等。

您可以使用 Kibana 将示例数据加载到您的 Elasticsearch 集群中,以快速入门。

一般内容

编辑

一般内容是指不包含时间戳的数据。这可以是矢量嵌入、网站内容、产品目录等数据。对于一般内容,您可以使用以下选项向 Elasticsearch 索引添加数据

  • API:使用 Elasticsearch 文档 API 直接索引文档,使用开发工具控制台或 cURL。

    如果您正在构建网站或应用程序,则可以使用您选择的编程语言中的 Elasticsearch 客户端来调用 Elasticsearch API。如果您使用 Python 客户端,请查看 elasticsearch-labs 存储库中的各种示例笔记本

  • 文件上传:使用 Kibana 文件上传器索引单个文件以进行一次性测试和探索。GUI 会引导您完成索引和字段映射的设置。
  • Web 爬虫:提取 Web 页面内容并将其索引到 Elasticsearch 文档中。
  • 连接器:将各种第三方数据源的数据同步,以在 Elasticsearch 中创建可搜索的只读副本。

带时间戳的数据

编辑

Elasticsearch 中带时间戳的数据是指包含时间戳字段的数据集。如果您使用 Elastic Common Schema (ECS),则此字段名为 @timestamp。这可以是日志、指标和跟踪等数据。

对于带时间戳的数据,您可以使用以下选项将数据添加到 Elasticsearch 数据流

  • Elastic Agent 和 Fleet:索引带时间戳数据的首选方法。每个基于 Elastic Agent 的集成都包含默认的摄取规则、仪表板和可视化,以便立即开始分析您的数据。您可以使用 Kibana 中的 Fleet UI 来集中管理 Elastic Agent 及其策略。
  • Beats:如果您的数据源不受 Elastic Agent 支持,请使用 Beats 来收集数据并将其发送到 Elasticsearch。您需要为每种要收集的数据类型安装单独的 Beat。
  • Logstash:Logstash 是一个开源数据收集引擎,具有实时管道功能,支持各种数据源。您可能使用此选项是因为 Elastic Agent 和 Beats 都不支持您的数据源。您还可以使用 Logstash 来持久化传入的数据,或者如果您需要将数据发送到多个目标。
  • 语言客户端:链接的教程演示了如何使用 Elasticsearch 编程语言客户端从应用程序摄取数据。在这些示例中,Elasticsearch 在 Elastic Cloud 上运行,但相同的原则适用于任何 Elasticsearch 部署。

如果您对带时间戳数据的数据摄取管道感兴趣,请使用 Elastic Cloud 文档中的决策树来了解您的选项。