5

我对 AWS CloudWatch 日志查询语法非常陌生,正在寻找解决问题的方法。

我想提出适当的 CloudWatch 查询,如果其中的一个日志包含唯一值,它将显示来自特定日志流的所有日志。看起来像是根据前一个结果执行 1 个查询。

第一个看起来像:

fields @message, @logStream 
| filter @message like /UNIQUE_VALUE/

它产生以下形式的结果:

#  @message      @logStream
1  UNIQUE_VALUE  log_stream/1a23c4

最后一个查询:

fields @message
| filter @logStream like "log-stream/1a23c4"
| sort asc

理想情况下,我想让它成为参数化的 CloudWatch 查询 - 我输入 UNIQUE_VALUE 并接收last query的输出。

4

1 回答 1

1

在对 AWS CloudWatch 日志进行一些研究后,我发现我的问题没有开箱即用的解决方案。
以下是使用 SumoLogic时的解决方法。

在 AWS 端解决它的自定义方法是使用 AWS API。
以下是使用 python boto3 lib 的可能解决方案:

  1. 我们创建查询来搜索日志。
  2. 我们轮询它的结果,直到我们找到我们寻求的价值。

这不是我想要的,但它解决了我的问题,但带来了不必要的麻烦。

如果有人有我可能错过的其他选择,我将非常感谢您分享您对此事的看法。

于 2020-01-16T17:27:13.893 回答