簡體   English   中英

將多個日志組添加到 Cloudwatch 事件觸發器而無需單獨指定它們?

[英]Adding multiple log groups to Cloudwatch event triggers without having to specify them individually?

我想在我的其他 Lambda 函數生成的錯誤事件上觸發 Lambda function。 我看到可以使用無服務器添加多個日志組。 示例來自這里

functions:
  hello1:
    handler: handler.hello1
    events:
      - cloudwatchLog: '/aws/lambda/hello1'
  hello2:
    handler: handler.hello2
    events:
      - cloudwatchLog: '/aws/lambda/hello2'

然而,這意味着為每個 function (我有大約 2 打)定義一個事件 + 過濾器,這需要為我將來添加的任何其他功能進行更新。 有沒有辦法使用像/aws/lambda/*這樣的包羅萬象的日志組定義?

我已經使用帶有Errors指標的aws/lambda命名空間的指標過濾器設置了 Cloudwatch 警報。 簡單易行,但是它發布的 SNS 主題幾乎沒有關於錯誤性質的信息。 我想創建一個 Lambda function 直接發布包含堆棧跟蹤的 SNS 主題。 我希望以同樣的方式選擇所有日志組也一樣容易。

您需要進行架構更改。

創建 Kinesis 數據 stream 並將各個 cloudwatch 日志組訂閱到該單個 kinesis stream

處理錯誤日志的 lambda 需要將 Kinesis 作為事件源。

現在,這將為來自任何 lambda 函數的 cloudwatch 日志組的日志啟用來自 kinesis 的觸發器

要自動啟用此訂閱,請將無服務器本身與 Kinesis CloudWatch 訂閱結合使用,並且所有功能的 kinesis stream 將相同。

Serverless 有一個插件可以做同樣的事情(serverless-plugin-log-subscription) https://www.serverless.com/plugins/serverless-plugin-log-subscription

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM