我现在有一个简单的golang应用程序,当日志流入elk时查找日志错误,然后使用初始查找中的数据查找错误发生原因的日志行...

第一个查询如下所示:

{
  "query": {
    "bool": {
      "should": [
        {
          "match_phrase": {
            "message": "*Failed Creating*"
          }
        }
      ],
      "minimum_should_match": 1
    }
  },
  "range": {
    "@timestamp": {
      "gte": "now-10s",
      "lte": "now"
    }
  }
}

然后对于每个回来的命中...我运行regexp去取消息中的名字和消息中的时间戳 .

所以下一个查询对于每次点击都是这样的:

{
  "query": {
    "bool": {
      "should": [
        {
          "match_phrase": {
            "message": "*nameThatWasFound*"
          }
        },
        {
          "match_phrase": {
            "message": "*TimeStampThatWasDetected*"
          }
        }
      ],
      "minimum_should_match": 2
    }
  }
}

我正在努力的是如何将其转换为我可以在Kibana中随时间绘制的查询...在其中拉出 Failed Creating 的行,然后通过查看名称和时间戳来拉动它后面的日志行这是在初始日志行中有 failed creating .