有没有办法将数据(csv 数据)导入 winlogbeat kibana 仪表板?

Is there a way to import data (csv data) to the winlogbeat kibana dashboard?

我刚刚开始学习 ElasticSearch 和 Kibana。我创建了一个 Winlogbeat 仪表板,日志在其中运行良好。我想导入我使用 Python 创建的附加数据(CSV 数据)。我尝试上传 CSV 文件,但我只能创建一个单独的索引,不能将其与 Winlogbeat 数据合并。有人知道怎么做吗?

提前致谢

基本上,Winlogbeat 是 Elasticsearch 的数据传送器。它将 windows 特定数据发送到具有特定模式和文档结构的名为 winlogbeat 的索引。

您不能将具有 different schema 的另一个文档合并到 winlogbeat 索引中。

如果您的目标是关联不同的数据点。请使用 Time-series visual builder 叠加两个不同的数据集进行可视化。

在许多用例中,您实际上不需要组合成单个索引。这里有几种显示组合数据的方法,大致按照复杂程度排序:

直接的方法,使用单独的索引:

  • 在仪表板上使用多个图表
  • 在单个图表中使用多个指数

将数据合并到单个索引中的更复杂的方法:

  • 使用数据转换的枢轴索引
  • 在摄取时合并
  • 自己动手

在仪表板上使用多个图表

这是最简单的方法:将数据提取到单独的索引中,为它们制作单独的可视化效果,然后将这些可视化效果添加到一个仪表板中。如果事件是基于时间的,那么这种简单的方法可能就是您所需要的。

在单个图表中使用多个指数

Lens、TSVB 和Timelion 都可以使用多个数据源。 (织女星也可以,但那是在困难模式下玩)

这是一段关于如何在 Lens 中执行此操作的官方 Elastic 视频:youtube

使用数据转换创建数据透视索引

你可以使用 Elasticsearch 的 Data Transforms functionality to fetch, combine and aggregate your disparate data sources into a combined data structure which is then available for querying with Kibana. The official tutorial on Transforming the eCommerce sample data 是一个学习更多的好地方。

在摄取时合并

如果您混合使用(或可以添加)Logstash,则在管道的 filter 阶段,您有多种组合数据集的选项:

  • 使用基于文件的查找 table 和 translate 过滤器插件
  • 等待相关文档进入,然后使用 aggregate 过滤器插件将组合文档输出到 Elasticsearch
  • 将外部查找与过滤器插件一起使用,例如 elasticsearch or http
  • 使用 ruby 过滤器插件执行任意 ruby 代码

自己动手

如果您使用 Python 程序生成 CSV 文件,您可能需要考虑将 python Elasticsearch DSL 库合并到 运行 查询winlogbeat 数据,然后以组合状态摄取它(无论是通过 CSV 还是其他方式)。