【发布时间】:2021-05-07 00:37:44
【问题描述】:
我有一个可以在 Kibana 控制台中运行的查询。它返回我们在按作业名称分组的某个内部集群上运行的所有作业,聚合显示每个作业的成功和错误计数。我可以像这样通过控制台运行它:
GET /jobs-*/_search
{
"query": {
"bool": {
"must": [
{
"match": {
"kind": "job"
}
}
]
}
},
"aggs": {
"jobs": {
"terms": {
"field": "job.keyword"
},
"aggs": {
"results": {
"filters": {
"other_bucket_key": "unsuccessful",
"filters" : {
"successful" : { "match" : { "result" : "success" }}
}
}
}
}
}
}
}
响应看起来像这样:
"aggregations" : {
"jobs" : {
"doc_count_error_upper_bound" : 28316,
"sum_other_doc_count" : 60708253,
"buckets" : [
{
"key" : "SomeJobName",
"doc_count" : 38410,
"results" : {
"buckets" : {
"successful" : {
"doc_count" : 38206
},
"unsuccessful" : {
"doc_count" : 204
}
}
}
},
...
}
我想将其放入某种可视化(可能是数据表)中,其中包含 3 列:作业名称、成功、不成功,并且我希望该表仅显示“不成功”计数中的前 N 个列。
我对 ES 和 Kibana 还是很陌生,所以我花了一段时间才让这个聚合工作,现在我不知道如何使用这个查询来构造一个可视化,因为它看起来像可视化希望我使用某种 GUI 和限制性 KQL 或 Lucene 语法来构建查询,而不是仅仅粘贴在这个请求中。
有什么我忽略的吗?如何从这些结果中获得有用的可视化效果?
【问题讨论】:
标签: elasticsearch kibana elasticsearch-aggregation