在Kibana,我创建了一个搜索,使用字段折叠和内部命中返回每个服务器的最后状态。
{
"query": {
"match": {
"event_name": "server_status"
}
},
"collapse": {
"field": "server_id",
"inner_hits": {
"name": "last_status",
"size": 1,
"sort": [
{
"@timestamp": "asc"
}
]
},
"max_concurrent_group_searches": 4
}
}
我有13台服务器。在发现部分查看结果时,我可以看到13个条目(我想为一个服务器创建一个新事件,并且应该避免返回14个条目)。
Kibana在左上方给出的命中数是14,但这是正常的,如docs中所述,即总命中数而不是内部命中数。
问题在于,在创建可视化时,例如饼图,总计条目会被考虑(14),而不是我的内部命中,应该是13。
我因此将切片大小指标更改为server_id上的唯一计数,我得到了13。
但是,只要在状态Term上配置了 Split Slices 参数,我就会回到14个条目(服务器的旧条目仍然出现状态更改)。< / p>
我如何告诉Kibana我希望我的可视化只考虑到我的内部命中?这意味着只为每个服务器获取最后一个状态事件,并为饼图中的每个状态分割切片。
答案 0 :(得分:0)
对不起,但你要求的是不可能的。你想要什么 需要在折叠文档的顶部进行聚合 Elasticsearch和Kibana做不到。
我认为你现在最好的解决方法就是在旁边 包含您当前存储的所有数据的实际索引,另一个 index,只有每个服务器的最新状态,所以 基本上你的数据传输系统,会更新文件 新状态到达后的最新状态,而不是仅添加它们 那里。这样你就可以使用该索引来显示当前的信息 您的基础架构的状态和另一个可视化历史 数据