是时候用 ES 拯救发际线啦

如何利用kibana中的visual builder显示某个字段每天当中在一分钟之内有重复值的个数

Kibana | 作者 valar | 发布于2018年04月19日 | 阅读数:3688

如题,现在本人在做异常检测,一个ip访问某个API有一分钟的限制(即一分钟只能访问一次),但是黑客可以绕过这个限制。我需要统计一个月每天当中,同一个ip在某1分钟出现多次这类事情发生的次数。希望有人能解答,谢谢。
已邀请:

strglee

赞同来自:

一次查询没法做 
es aggs 聚合只能嵌套聚合 也就是越来越细 
1.先求出在哪些某1分钟哪些ip出现异常
GET test/_search
{
"size": 0,
"query": {
"bool": {
"must": [
{
"match_all": {}
}
]
}
},
"_source": {
"excludes": []
},
"aggs": {
"date_time": {
"date_histogram": {
"field": "@timestamp",
"interval": "1m",
"time_zone": "Asia/Shanghai",
"min_doc_count": 1
},
"aggs": {
"ip": {
"terms": {
"field": "ip",
"size": 10000,
"order": {
"_count": "desc"
},
"min_doc_count": 2
}
}
}
}
}
}

 
2. 把上面的结果保存在一个新的index中,_id可以为 md5(ip + date_time)
3. 根据上面的index,去统计次数

要回复问题请先登录注册