Kibana 仪表盘如何添加数值过滤器(Numeric Filter)?
Kibana 仪表盘添加数值范围过滤的方法:Add filter 选字段后用 is between 填数值区间,或直接写 KQL 如 response_time > 500。本文给出操作步骤、KQL 写法与编辑 Filter 自定义 JSON 的进阶用法。
在仪表盘顶部点「Add filter」→ 选择数值字段 → 运算符选「is between」→ 填入起止数值即可;也可以直接在 KQL 搜索栏写 字段名 > 数值 更快捷。
方法一:可视化 Add filter
- 打开 Dashboard,点击顶部 Add filter;
- Field 选择数值字段(如
response_time); - Operator 选择 is between(区间)或 is greater than / is less than(单边);
- 填入数值,保存。过滤器生效于整个仪表盘的所有图表。
方法二:KQL 直接写
在搜索栏输入:
response_time > 500 and response_time <= 2000
status_code >= 500
KQL 支持 >、>=、<、<=、and/or/not 组合,写复杂条件比点选快得多。
方法三:编辑 Filter 的 Query DSL
需要 range 聚合等高级能力时,点击已创建的 filter → Edit filter → Edit as Query DSL,直接写 Elasticsearch 查询:
{ "range": { "response_time": { "gte": 500, "lt": 2000 } } }
观测云对照
观测云日志查看器与数据看板原生支持数值字段的范围筛选:查看器中直接点选字段值或输入 DQL 条件(duration > 500),看板图表可在查询条件里叠加数值过滤,交互比 Kibana 更轻量,且无需维护 ELK 集群。
常见问题(FAQ)
Q:字段在列表里找不到? 该字段可能未在索引模式中标记为数值类型——检查 Mapping,text 类型字段不能做数值过滤。
Q:过滤器能保存复用吗? 可以,创建后点「保存」固定在仪表盘上,随仪表盘一起保存。
Q:KQL 里数值字段写法有什么不同? 数值不加引号(status_code:500),字符串才需要(method:"GET")。