【发布时间】:2026-02-20 01:35:01
【问题描述】:
我希望能够结合 Kibana Terms Graph 的功能(能够根据来自特定属性的值的唯一性创建存储桶)和 直方图(根据查询将数据分成桶,然后根据时间说明日期)。
总的来说,我想创建一个直方图,但我只想根据一个查询的结果创建直方图,而不是像在Kibana demo app 中那样进行多个查询。相反,我希望根据我的特定字段的唯一值动态创建每个存储桶。例如,考虑我的查询返回的以下数据:
{"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 Terms Aggregation 以最好根据“myValueType”将我的数据拆分到存储桶中,并将这些结果整合到我的直方图中
- 自定义仪表板的 JSON,但这在我看来是不可能的
- 创建我自己的自定义面板,但这是不可取的
- 在 Kibana 中链接 Kibana“TopN”查询。实际上,这已被证明是解决我的问题的一种方法,因为 TopN 查询从指定的 fieldName 为每个唯一值/术语动态创建一个查询。但是,问题是我只能将一种颜色链接到此 TopN 查询,并且每个唯一术语都将放置在使用不同颜色阴影的存储桶中。理想情况下,我的直方图中的每个桶都有与之相关的完全不同的颜色。想象一下,随着存储桶数量的增加,区分唯一术语将变得多么困难。
- 如果一切都失败了,我会从我的搜索字段中对每个唯一值进行一次查询。这将允许我为每个存储桶使用一种唯一颜色,但随着“myValueType”字段中唯一术语的数量发生变化,我需要不断从 Kibana 添加/删除查询,这可能会变得非常混乱。
我确定我在这里缺少一些东西。请帮帮我。非常感谢。
一个高度相关的 SOF 问题:Is it Possible to Use Histogram Facet or Its Curl Response in Kibana
【问题讨论】:
-
请允许我运行 ElasticSearch 术语聚合... - 现在可以在 Kibana 4 中使用。在 this answer 中,您有一个示例说明如何操作
标签: lucene elasticsearch kibana