问题描述
我对使用 Elasticsearch 进行高级搜索非常陌生,主要使用 Kibana。
在 Kibana 中,我可以进行这样的简单搜索:
type:apache_access
这变成了这个请求:
{
"version": true,"size": 500,"sort": [
{
"@timestamp": {
"order": "desc","unmapped_type": "boolean"
}
}
],"_source": {
"excludes": []
},"aggs": {
"2": {
"date_histogram": {
"field": "@timestamp","interval": "10m","time_zone": "America/Los_Angeles","min_doc_count": 1
}
}
},"stored_fields": [
"*"
],"script_fields": {},"docvalue_fields": [
{
"field": "@timestamp","format": "date_time"
}
],"query": {
"bool": {
"must": [
{
"range": {
"@timestamp": {
"gte": 1613652915536,"lte": 1613696115536,"format": "epoch_millis"
}
}
}
],"filter": [
{
"bool": {
"should": [
{
"match": {
"type": "apache_access"
}
}
],"minimum_should_match": 1
}
}
],"should": [],"must_not": []
}
},"highlight": {
"pre_tags": [
"@kibana-highlighted-field@"
],"post_tags": [
"@/kibana-highlighted-field@"
],"fields": {
"*": {}
},"fragment_size": 2147483647
}
}
我想做的是在字段 GROUP BY
上的 MySQL clientip
,(或者可能是 clientip.keyword
??)我的目标是查看显示哪些 IP 地址给定时间范围内访问日志中最多的。
Kibana 在 UI 中为我执行此操作,具有“500 / 500 条记录中的前 5 个值”功能,但这仅适用于前 500 个值。我想要整个时间段的总和。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)