我希望能够结合Kibana 术语图的功能(能够基于特定属性的值的唯一性创建存储桶)和直方图(根据查询将数据分离到存储桶中,然后根据时间说明日期) .
总的来说,我想创建一个直方图,但我只想根据一个查询的结果创建直方图,而不是像在Kibana 演示应用程序中那样进行多个查询。相反,我希望根据我的特定字段的唯一值动态创建每个存储桶。例如,考虑我的查询返回的以下数据:
{"myValueType": "New York"}
{"myValueType": "New York"}
{"myValueType": "New York"}
{"myValueType": "San Francisco"}
{"myValueType": "San Francisco"}
还假设每条记录都有一个timestamp
按日期分隔直方图数据的字段。对于那个特定的日期,我希望将数据作为 3 的计数传送到New York
存储桶中,并将 2 的计数传送到San Francisco
存储桶中。但是,我只能为我的一个链接查询显示 5 个计数。当我配置直方图时,我可以指定一个字段用于我的时间戳,但不能从中创建存储桶。我可以发送一个字段来计算总/最小值/最大值/平均值,但这个字段必须是数字,所以这也不是解决方案。
如果我要使用术语图来创建饼图或条形图,我确实能够根据我指定字段的唯一值(在本例中为“myValueType”)将我的数据分成存储桶,但这会加起来所有时间的数据,而不是按时间戳拆分数据。虽然这是很好的信息,但并不理想,因为我无法检测数据中的趋势。
我正在寻找可以执行以下操作之一的解决方案:
- 让我在我的 Kibana 仪表板中动态创建查询以在直方图中创建“桶”
- 允许我运行ElasticSearch 术语聚合,以根据“ myValueType ”将我的数据拆分为存储桶,并将这些结果整合到我的直方图中
- 自定义我的仪表板的 JSON,但这对我来说似乎不可能
- 创建我自己的自定义面板,但这是不可取的
- 在 Kibana 中链接 Kibana“TopN”查询。实际上,这已被证明是解决我的问题的方法,因为 TopN 查询从指定的 fieldName 为每个唯一值/术语动态创建一个查询。但是,问题是我只能将一种颜色链接到此 TopN 查询,并且每个唯一术语都将放置在使用不同颜色阴影的存储桶中。理想情况下,我的直方图中的每个桶都有与之相关的完全不同的颜色。想象一下,随着存储桶数量的增加,区分唯一术语将是多么困难。
- 如果一切都失败了,我会从我的搜索字段中对每个唯一值进行一次查询。这将允许我每个桶有一个唯一的颜色,但是随着“myValueType”字段中唯一术语的数量发生变化,我需要继续从 Kibana 添加/删除查询,这可能会变得非常混乱。
我确定我在这里缺少一些东西。请帮帮我。非常感谢。
一个高度相关的 SOF 问题:Is it possible to Use Histogram Facet or Its Curl Response in Kibana