他的按钮在哪里? 一个简单的人如何从Kibana和Elasticsearch卸载数据而不会给开发人员带来压力

Elasticsearch,Kibana和Logstash(ELK)是用于收集和可视化大量数据的出色工具包。

日志,杂志,事件-所有这些都非常容易在单个工具箱中进行组装,映射和显示。 Logstash映射数据,Elasticsearch存储数据,Kibana将其显示在图形中。

当然,利用此捆绑包的所有功能,有些任务无法通过内置功能来实现。

例如,Kibana可以完美地在单个表(索引)中显示数据,但是一旦涉及到将不同索引组合到一个样本中,它就会无助地举起手来。

解决这种情况的唯一方法是从Kibana卸载数据,并将其组合到任何其他工具中,例如在Excel中。

一个简单的例子。 想象一下,您的圣诞树(ELK)收集并存储Jira事件-用于任务跟踪器中任何任务的任何更改。

在这种情况下,Elasticsearch索引将为一个任务存储几条记录:



如果您想构建一个Jira事件时间表,以按状态显示任务的转换,那么使用Kibana,您将不可能做到这一点。 由于noSQL的特殊性,您将需要一项任务的所有事件才能“驱动”到一条Elasticsearch记录中。

如果不让开发人员参与并重写Logstash配置,则很难做到这一点。

首先想到的是从Kibana卸载数据,以便在常规Excel中手动扭曲数据。

但是,令您惊讶的是,搜索上载按钮将失败,尤其是如果Kibana是公司法人且对“报告”模块有限制的话:



那么会发生什么,有数据,但是您无法使用它?
实际上有一种秘密方式。 通过标准表报告数据表。

在“可视化”选项卡上,您可以创建许多不同的报告,但是只有在“数据表”中,才有一个按钮以csv格式上传数据。



如果您正在使用Kibana,则可能会将数据表视为汇总表,即 一个可以在其中计算某事物总数的表,但是不可能列出所有记录。 但是,这并非完全正确。

该表具有出色的功能-唯一计数(用于计数唯一元素的数量),可用于显示表中的整个记录​​列表。

单击“可视化”选项卡中的“ +”,选择“数据表”,然后指定要从中卸载的索引。 在表格参数中,指定汇总-“唯一计数”,并在具有唯一ID的字段正下方。



如果您开始重新计票,Kibana将在索引中显示唯一条目的数量。
如何将一个数字变成记录列表? 非常简单-使用“拆分行”按钮
单击它,然后选择“条款”作为汇总(按字段值细分)。
这是一个关键点:在“字段”中,指定具有唯一记录ID的字段。

而且,瞧,当重新计算一张桌子时,一个数字神奇地变成了一张桌子!
在这里,关键时刻。

你干了什么 简而言之,您告诉Kibana您要计算唯一记录的数量,并且还按属性(即通过指定字段的唯一值)指示记录的分组。

现在,Kibana分别计算每个组中的元素数量。 作为您指定唯一记录ID的值,Kibana开始计算按唯一ID分组的唯一记录的数量,即 实际上,在表的每一行旁边,度量“唯一计数”将等于“ 1”。

您得到了理想的结果-显示了所有记录,并另外计算了索引中具有相同ID的行数。



现在,如果表中的列不够,请使用“添加子存储桶”按钮,然后单击“分割行”,添加其他字段。



在任何地方,选择“术语”作为汇总,然后指定要添加到表中的字段的名称。



做完了 您已收到索引的完整上传。
剩下要做的就是保存可视化并单击“导出原始”或“导出格式化”按钮。



Raw卸载所有原始数据,Formatted根据Kibana中设置的语言环境重新格式化数据。
仅此而已。

如您所见,尽管解决方案并非表面上的,但仍可以从Kibana上传到不熟悉编程的简单人。

我希望这个小技巧可以使我的生活变得更轻松,并让我有机会快速分析数据,而无需开发人员参与下载。

如果我的经验对您有所帮助,很高兴看到您对本文的评论。

Source: https://habr.com/ru/post/zh-CN414581/


All Articles