Elasticsearch/Kibana:应用程序端连接

use*_*172 11 join elasticsearch kibana

是否可以使用Kibana(最好是闪亮的新版本4 beta)来执行应用程序端连接?

我知道ES/Kibana不是为了取代关系数据库而构建的,通常更好的做法是对数据进行非规范化.然而,在这个用例中,这不是最好的方法,因为索引大小正在爆炸并且性能正在下降:

我正在索引数十亿个包含网络流的会话信息的文档,如:source ip,source port,destination ip,destination port,timestamp.

现在我也想收集每个IP地址的其他信息,如地理位置,ASN,反向DNS等将此信息添加到每一个会话文件,使整个数据库不可收拾:现在有成千上万的文件具有相同的IP地址和冗余向所有这些文档添加相同的附加信息会导致巨大的膨胀和无响应的用户体验,即使在具有数百GB内存的集群上也是如此.

相反,我想创建一个单独的索引,其中只包含唯一的IP地址和我收集到的每个元数据的元数据.

问题是:我怎样才能使用kibana分析我的数据?对于查询返回的每个文档,kibana应该在ip-index中执行查找,并使用此信息"虚拟地丰富"每个ip地址.像添加虚拟字段的东西,所以结构看起来像这样(在运行中):

source ip,source port,source country,source asn,source fqdn

我知道这会以多次查询为代价.

Val*_*vel 3

我不认为有这样的事情,但也许你可以使用过滤器:

  1. 您可以创建漂亮且简单的数据可视化,可以过滤不同类型并仅显示一种简单的数据。
  2. 您将这些不同的可视化效果放在仪表板中,以便显示与某种联接类型关联的所有数据。
  3. 您可以使用过滤器作为加入密钥,并使用由不同面板组成的完整仪表板来获取特定加入密钥(您的案例中的 ip 或会话)的见解

您需要为您想要进行的每种类型的联接创建 1 个仪表板。

请注意,您需要协调不同文档中字段的名称和映射!

让我们随时了解最新情况,这是一个有趣的问题,我现在想知道这么多文档的结果如何。