我正在使用ELK观察器2.2版警报,我的查询输出类似于此
{
"took": 549,
"timed_out": false,
"_shards": {
"total": 1040,
"successful": 1040,
"failed": 0
},
"hits": {
"total": 468101,
"max_score": 0,
"hits": [ ]
},
"aggregations": {
"2": {
"buckets": [
{
"6": {
"doc_count_error_upper_bound": 0,
"sum_other_doc_count": 0,
"buckets": [
{
"1": {
"value": 84.86304909560724
},
"key": "hostname",
"doc_count": 10000
}
]
},
"key_as_string": "2016-11-09T19:00:00.000Z",
"key": 1478718000000,
"doc_count": 47855
}
在观察者的情况下我想比较“值”是否比某个阈值更重要,
我尝试使用array_compare但它不适用于像这样的嵌套数组 它匹配sum_other_doc_count之前的字段但不会更进一步。
如果有人可以帮我解决这个问题
答案 0 :(得分:0)
这似乎与我想弄清楚的东西类似。假设您只是比较数组/存储桶的第一个元素中的值,我很幸运使用了语法:
"condition": {
"compare": {
"ctx.payload.aggregations.2.buckets.0.6.buckets.1.value": {
"gte": 80
}
}
}
我建议命名你的" aggs"避免魔术数字'上面(除了硬编码' 0'表示存储桶中的第一个元素)。