Kibana 基于聚合过滤数据

Posted

技术标签:

【中文标题】Kibana 基于聚合过滤数据【英文标题】:Kibana Filtering data based on aggregation 【发布时间】:2022-01-16 17:46:46 【问题描述】:

我需要在饼图中显示正在运行的作业数和已完成的作业数。我正在实时接收工作状态。为了显示当前处于运行状态的作业的数量,我必须过滤那些已经完成的作业(例如 Job a)。请提出一种方法来做到这一点。

Job timestamp   Status
job a   1639381300  Running
job a   1639381301  Running
job a   1639381302  Completed
job b   1639381301  Running

输出(饼图)

已完成作业的作业数 =1 运行作业的作业数 =1

【问题讨论】:

【参考方案1】:

先过滤您的工作,然后再汇总!下面是一个适应它的示例

GET logs/_search

  "size": 0,
  // Now create aggregates level 3
  "aggs" : 
    "messages" : 
      // do some filtering level 2
      "filters" : 
        "other_bucket_key": "other_messages",
        "filters" : 
          // do some filtering level 1
          "errors" :    "match" :  "body" : "error"   ,
          "warnings" :  "match" :  "body" : "warning" 
        
      
    
  

【讨论】:

我的问题是如何在kibana中做到这一点

以上是关于Kibana 基于聚合过滤数据的主要内容,如果未能解决你的问题,请参考以下文章

Kibana:Kibana Query Language - KQL

Kibana:Kibana Query Language - KQL

MongoDb 聚合基于 ids 过滤列表并将此过滤列表映射到另一个字段

ElasticSearch6.x版本聚合统计在Kibana上的实操和在SpringBoot上的实操

Mongoose 聚合:基于 Model.associated_Model.associated_Model.field 过滤返回错误结果

是否有 Kibana 可视化允许使用基于术语的存储桶对聚合数据进行数学运算?