如何在Grafana中按Elasticsearch的aborted_at字段存在性分组图表
在Grafana中基于Elasticsearch字段是否存在实现二元分组的配置方法
步骤1:设置基础查询与时间分段分组
- 保留基础过滤条件:
type.keyword = "$measurement_type" - 添加第一个分组(Group by)为Date histogram,选择用于划分时间段的时间字段(比如记录的创建时间),设置合适的时间间隔(如小时、天),用来拆分不同的时间区间。
步骤2:通过脚本字段实现二元分组
- 添加第二个分组为Terms,点击字段选择器里的「Script field」选项
- 在Painless脚本编辑框中输入以下代码,判断
aborted_at字段是否存在:doc.containsKey('aborted_at') ? '已中止' : '已完成' - 给这个脚本字段命名(比如
status),分组后会直接得到「已完成」和「已中止」两个类别。
步骤3:配置聚合统计
- 在聚合(Metric)部分选择Count,统计每个时间区间下两类记录的数量。
步骤4:切换为100%堆叠柱状图
- 切换到可视化面板,选择Bar chart类型
- 在「Display」选项卡中找到「Stacking」设置,选择「100%」,即可展示每个时间段内已完成/已中止记录的占比。
内容的提问来源于stack exchange,提问作者slhck
相关产品推荐
相关产品推荐

