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

如何在Elastic Kibana中查询同时包含两类日志的traceID

在Kibana中筛选同时包含两类日志的traceID

方案1:使用Lucene DSL查询(搜索栏直接输入)

直接在Kibana搜索框中粘贴以下查询语句,它会筛选出拥有两类指定message的traceID,并通过聚合返回结果:

{
  "query": {
    "bool": {
      "must": [
        { "exists": { "field": "traceID" } },
        {
          "bool": {
            "should": [
              { "match": { "message": "Log.Test.First.Message" } },
              { "match": { "message": "Log.Test.Second.Message" } }
            ],
            "minimum_should_match": 2
          }
        }
      ]
    }
  },
  "aggs": {
    "valid_traceIDs": {
      "terms": {
        "field": "traceID.keyword",
        "size": 100
      }
    }
  }
}

关键说明:

  • minimum_should_match: 2 强制要求同一个traceID对应的日志必须同时包含两种指定的message内容
  • aggs 部分会聚合所有符合条件的traceID,结果可直接用于制作可视化
  • 如果你的traceID字段不是keyword类型,将traceID.keyword替换为traceID即可

方案2:可视化界面操作(无需编写DSL)

  1. 打开Kibana「可视化」页面,创建数据表格类型的可视化
  2. 选择目标日志索引,进入「数据」标签页
  3. 添加两个筛选器:
    • 筛选器1:message = Log.Test.First.Message
    • 筛选器2:message = Log.Test.Second.Message,点击筛选器的「高级选项」,将逻辑改为「或」,并勾选「每个值必须出现在不同文档中」
  4. 在「行」区域添加traceID.keyword作为分组字段
  5. 保存后即可得到所有符合条件的traceID

样本结果验证

根据你提供的日志样本,最终会返回两个符合条件的traceID:123和789

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 12:32:43