10分钟掌握Kibana搜索过滤:时间范围与地理过滤实战指南
你是否还在为海量日志数据筛选发愁?是否因找不到特定区域异常而抓狂?本文将通过时间范围与地理过滤两大核心功能,帮你10分钟内从数据海洋中精准定位关键信息。读完你将掌握:
- 3种时间范围筛选技巧(相对时间/绝对时间/快捷筛选)
- 2种地理过滤方法(区域选择/坐标圈选)
- 多条件组合过滤的高级应用
时间范围过滤:从秒级到年级的数据切片
Kibana的时间范围过滤功能基于TimefilterContract实现,通过src/plugins/unified_search/public/actions/apply_filter_action.ts中的createFilterAction函数处理时间维度筛选。
相对时间筛选(最常用)
在Discover页面顶部的时间选择器中,点击时间范围下拉框选择"最近15分钟"、"最近1小时"等预设选项,系统会自动生成相对时间过滤器:
{
"range": {
"@timestamp": {
"gte": "now-15m",
"lte": "now",
"format": "epoch_millis"
}
}
}
此功能通过src/plugins/unified_search/public/search_bar/create_search_bar.tsx中的createSearchBar函数初始化时间选择组件。
绝对时间筛选
如需查询特定时间段数据(如2023年双十一活动期间),可选择"绝对"模式并设置起止时间:
- 点击时间选择器中的日历图标
- 在弹出的日期选择面板中设置开始日期(2023-11-11 00:00)和结束日期(2023-11-11 23:59)
- 系统自动生成包含毫秒级时间戳的过滤器
快捷时间筛选
通过DataViewEditorService(src/plugins/data_view_editor/public/data_view_editor_service.ts)提供的时间字段配置,可将常用时间范围保存为快捷筛选条件:
- 进入数据视图编辑页面
- 在"时间字段"设置中选择
@timestamp - 点击"添加快捷筛选"并设置名称和时间范围
地理过滤:从全球到街道的空间定位
地理过滤功能通过Maps插件实现,核心代码位于x-pack/plugins/maps/public/embeddable/map_embeddable.tsx的MapEmbeddable类中,支持两种主要过滤方式。
区域选择过滤
- 在地图界面点击右上角"添加过滤器"按钮
- 选择"地理区域"选项,在地图上框选目标区域(如北京市)
- 系统自动生成地理边界过滤器:
{
"geo_bounding_box": {
"location": {
"top_left": {
"lat": 40.0902,
"lon": 115.7588
},
"bottom_right": {
"lat": 39.7429,
"lon": 116.6868
}
}
}
}
坐标圈选过滤
对于圆形区域(如某工厂3公里范围):
- 选择"地理半径"工具
- 在地图上点击中心点并拖动调整半径
- 生成基于距离的过滤器:
{
"geo_distance": {
"distance": "3km",
"location": {
"lat": 31.2304,
"lon": 121.4737
}
}
}
多条件组合过滤:构建精准数据筛选器
通过FilterManager(src/plugins/unified_search/public/actions/apply_filter_action.ts)可实现时间+地理+关键词的多维度组合过滤:
- 先设置时间范围为"最近24小时"
- 添加地理过滤条件"上海市"
- 在搜索框输入关键词"error"
- 系统自动组合生成复合过滤器:
[
{
"range": { "@timestamp": { "gte": "now-24h", "lte": "now" } }
},
{
"geo_bounding_box": { "location": { "top_left": {...}, "bottom_right": {...} } }
},
{
"match": { "message": "error" }
}
]
实战案例:电商平台异常订单定位
某电商平台需排查2023-11-11 08:00-10:00期间广东省的异常订单:
- 设置绝对时间范围为2023-11-11 08:00至10:00
- 在地图上框选广东省区域
- 添加过滤器
status:error AND amount:>1000 - 结果立即缩小至符合条件的12条异常订单
总结与进阶
本文介绍的时间范围过滤(基于TimefilterContract)和地理过滤(基于MapEmbeddable)功能,通过unified_search插件的FilterManager实现协同工作。进阶学习可参考:
- 官方文档:api_docs/unified_search.devdocs.json
- 地理过滤源码:x-pack/plugins/maps/public/embeddable/map_embeddable.tsx
掌握这些过滤技巧后,你可以轻松应对90%的数据筛选场景。下一篇我们将深入探讨Kibana的聚合分析功能,敬请期待!
收藏本文,下次遇到数据筛选难题时即可快速查阅。如有疑问,欢迎在评论区留言讨论。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



