You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Kibana中过滤消息并配置版本统计仪表盘?

Kibana问题解答

1. 如何在Kibana中过滤消息?

在Kibana里过滤消息有好几种实用的方式,根据你的场景选就行:

  • 快速字段值过滤:打开Discover页面,找到任意一条包含目标消息的文档,点击message字段里的具体值,选择「Filter for value」(保留该值的消息)或者「Filter out value」(排除该值的消息),系统会自动生成过滤条件并应用。
  • 搜索栏语法过滤:在Discover顶部的搜索框里用Lucene查询语法写过滤规则,比如要找包含"error"的消息就写 message: "error",要找包含任意以"timeout"结尾的内容可以写 message:*timeout,支持精确匹配、通配符、范围查询等。
  • 侧边栏字段过滤:在Discover左侧的字段列表中找到message字段,点击「Add filter」,然后选择匹配规则(比如「包含」「等于」「不包含」),输入要过滤的内容,确认后过滤条件就会生效,还能保存这个过滤条件后续复用。

2. 提取动态版本号并统计数量的仪表盘配置

要实现这个需求,得先把message字段里的版本号提取成独立字段,再做统计可视化,步骤如下:

第一步:提取版本号为独立字段

我推荐用Runtime Field(不需要重新索引数据)来处理:

  1. 进入「Stack Management」>「Index Patterns」,找到你对应的索引模式并进入。
  2. 切换到「Runtime Fields」标签,点击「Add runtime field」。
  3. 字段名设为version,类型选「Keyword」(方便后续统计),然后在Painless脚本框里写提取逻辑:
    // 这里的正则要匹配你的版本号格式,比如echo 1.2.3就用下面的规则
    def matchPattern = /echo (\d+\.\d+\.\d+)/.matcher(doc['message'].value);
    if (matchPattern.find()) {
      emit(matchPattern.group(1));
    }
    
    如果你的版本号带前缀(比如echo v2.0.1),就把正则改成 /echo v?(\d+\.\d+\.\d+)/,确保能正确匹配到版本号。
  4. 保存这个Runtime Field,回到Discover页面就能看到新的version字段了。

第二步:创建统计可视化

  1. 进入「Visualize Library」,点击「Create visualization」,选择你喜欢的图表类型(比如垂直柱状图、饼图都适合展示分类统计)。
  2. 选择你的索引模式,在「Metrics」区域选择「Count」(统计每个版本的出现次数)。
  3. 在「Buckets」区域点击「Add」,选择「Split Bars」(或Split Series,根据图表类型调整),类型选「Terms」,字段选择刚才创建的version,排序方式选「Count」降序,这样数量多的版本会排在前面。
  4. 调整图表的标题、颜色等样式,完成后保存这个可视化。

第三步:添加到仪表盘

  1. 进入「Dashboard」页面,点击「Create dashboard」,然后点击「Add」按钮,选择刚才保存的可视化图表添加进去。
  2. 可以添加时间范围过滤器、调整布局,最后保存仪表盘就完成啦。

内容的提问来源于stack exchange,提问作者Jeel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 09:12:35