Creating metric filters encompassing multiple log groups


I'm trying to create a metric filter that scans for ERRORS between a bunch of log groups. I see a lot of articles that show how to create a metric filter for a single log group but we have >100 log groups so it would be horrible to manually add it. I'm also open to new suggestions if I'm approaching this incorrectly, still learning how to use Cloudwatch.

已提問 2 年前檢視次數 2056 次
1 個回答

Cloudwatch Logs Insights will allow you to filter on up to 20 log groups at a time. If you need to aggregate across a larger number of groups, or with more complex queries, then the suggested approach is to use subscriptions to send logs from each log group to a Kinesis stream, where you could do further processing either with Kinesis Analytics or Lambda. Alternatively, you could stream your log groups into an OpenSearch cluster.

已回答 2 年前
profile picture
已審閱 1 個月前
profile picture
已審閱 4 個月前
  • Ah got it, so what we currently do is use subscriptions on two of our log groups but I was wondering if there was a different way instead of creating a subscription for each log group manually and then further process it with Lambda.

    I'll check out OpenSearch cluster, to see if that is something feasible and within our budget. Thank you!

  • The best way to deal with large configurations is always automation. Ideally you would use a complete Infrastructure as Code solution such as CloudFormation or Terraform to bring these resources under control. If that's not possible, the next-best thing is to write a small script in the language of your choice, using either the AWS CLI or an AWS SDK, to find all of the log groups and modify them to suit your needs. Python is a popular language used for small scripts like this.

    If this answer / comment was helpful, please upvote it! Thanks :)

您尚未登入。 登入 去張貼答案。