Amazon web services 使用cloudwatch日志过滤AWS上发送给Lambda的日志

Amazon web services 使用cloudwatch日志过滤AWS上发送给Lambda的日志,amazon-web-services,aws-lambda,amazon-cloudwatchlogs,Amazon Web Services,Aws Lambda,Amazon Cloudwatchlogs,我的管道是: cloudwatchlogs>lambda>弹性搜索 问题是这些日志太冗长(我对此无能为力),需要过滤70%的日志,因此它们不会无用地填充我的弹性集群 我想我可以在cloudwatch日志组上应用metrix过滤日志,但这并没有过滤任何东西,也就是说它会将它们从cloudwatch中删除,只是绘制一些关于它的统计数据…,因此那些不需要的日志仍然会出现 当你创建订阅过滤器时,我发现的只是一个小地方:但它非常原始,我需要至少30-40种不同的过滤器模式,而不仅仅是一种 所以我的问题是:

我的管道是:

cloudwatchlogs>lambda>弹性搜索

问题是这些日志太冗长(我对此无能为力),需要过滤70%的日志,因此它们不会无用地填充我的弹性集群

我想我可以在cloudwatch日志组上应用metrix过滤日志,但这并没有过滤任何东西,也就是说它会将它们从cloudwatch中删除,只是绘制一些关于它的统计数据…,因此那些不需要的日志仍然会出现

当你创建订阅过滤器时,我发现的只是一个小地方:但它非常原始,我需要至少30-40种不同的过滤器模式,而不仅仅是一种

所以我的问题是:

我唯一不被不需要的日志所困扰的方法是在lambda函数中手动过滤它们(regex等)?一定有更简单的方法,不是吗


谢谢

我最后要做的是让日志到达我的ElasticCluster而不进行任何过滤,然后使用kibana预过滤我不需要的内容,并在elastic search中定期删除所有日志

到目前为止,最重要的是,当您在kibana上创建一个过滤器时,它还为您提供了自己执行请求所需的json

例如:

curl -X POST ES/INDEX/_delete_by_query
{
  "query": {
    "match": {
      "sourceIPAddress": {
        "query": "ec2.amazonaws.com",
        "type": "phrase"
      }
    }
  }
}

我最后要做的是让日志到达我的ElasticCluster而不进行任何过滤,然后使用kibana预过滤我不需要的内容,并在elastic search中定期删除所有日志

到目前为止,最重要的是,当您在kibana上创建一个过滤器时,它还为您提供了自己执行请求所需的json

例如:

curl -X POST ES/INDEX/_delete_by_query
{
  "query": {
    "match": {
      "sourceIPAddress": {
        "query": "ec2.amazonaws.com",
        "type": "phrase"
      }
    }
  }
}

如果您有30-40种不同的模式要过滤,那么您的请求并不简单,因此我同意您的看法,Lambda将在这种情况下为您提供最大的灵活性。听起来您需要一个自定义程序来处理过滤。我将使用python和boto扫描和过滤日志,然后将结果手动发送到lambda外部的ES。如果您有30-40种不同的模式要过滤,那么您的请求并不简单,因此我同意您的看法,Lambda将在这种情况下为您提供最大的灵活性。听起来您需要一个自定义程序来处理过滤。我将使用python和boto扫描和过滤日志,然后将结果手动发送到lambda外部的ES。