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

如何在Kibana可视化中按指定顺序展示日志?

Kibana直方图自定义日志类型展示顺序解决方案

问题原因

Kibana的Terms子桶默认按文档数量或字母顺序排序,不会自动识别业务逻辑的发生顺序,所以出现了你看到的日志类型顺序不符的情况。

解决方案

方法1:通过脚本字段自定义排序权重

  1. 创建脚本字段
    进入管理 -> 索引模式,找到你使用的日志索引模式,点击脚本字段 -> 添加脚本字段:

    • 名称:msg_order
    • 类型:数字
    • 脚本(Painless):
      def msg = doc['jsonPayload.msg.keyword'].value;
      switch(msg) {
        case 'starting Scheduler': return 1;
        case 'moving file to a new directory': return 2;
        case 'moving file failed': return 3;
        case 'Finish Scheduler': return 4;
        default: return 0;
      }
      

    保存该字段。

  2. 修改可视化排序规则
    回到你的直方图可视化,找到基于jsonPayload.msg.keyword的子桶配置:

    • 在排序选项中,选择自定义
    • 选择刚才创建的msg_order字段,排序方向设为升序
      保存配置后,日志类型就会按你定义的业务顺序展示。

方法2:直接按值列表指定排序顺序

如果不想创建脚本字段,可以直接在子桶配置中指定值的顺序:

  1. 打开直方图的子桶配置(基于jsonPayload.msg.keyword的Terms桶)
  2. 在排序选项中,选择按值列表排序
  3. 按业务发生顺序输入日志类型值:
    starting Scheduler, moving file to a new directory, moving file failed, Finish Scheduler
    
  4. 保存配置,即可按指定顺序展示各日志类型。

额外检查:确保时间戳准确性

如果时间轴上的日志顺序也有问题,需要确认日志的@timestamp字段是实际生成时间而非索引时间:

  • 检查索引映射,确保@timestamp字段正确关联日志的生成时间字段
  • 如果日志中的时间字段不是@timestamp,可以在索引模式中修改时间字段为正确的字段

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 06:36:07