Can I use CloudWatch Logs to trigger a Lambda function?

0

I'm working on a POC where I want to use the Amazon CloudWatch Logs (custom logs generated from the Amazon EC2 Instance) to trigger an AWS Lambda function based on a certain output is captured in the CloudWatch Logs. Is it possible to trigger Lambda based on CloudWatch Logs? If it's possible, provide me with the relevant documentation /procedure.

Example: Custom logs captured in the CloudWatch Log stream are similar to the following:

        ASCS Node: TRUE		ASCS Status: Running
        ASCS Node: TRUE		ASCS Status: Running
        ASCS Node: TRUE		ASCS Status: Running

I want to trigger a Lambda function when the following condition is true:

       ASCS Node: TRUE		ASCS Status: **Stopped**
AWS
已提问 4 年前3857 查看次数
1 回答
1
已接受的回答

It's possible to trigger a Lambda from based on a matching pattern in the CloudWatch Logs. Instead of using the CloudWatch Logs subscription filters, do the following:

  1. Create metric filter from your Log group. For Filter Pattern, enter the pattern that you want to capture (in your sample : Status: **Stopped**). For more information, see Publishing numerical values found in log entries.
  2. Create an Amazon SNS topic and integrate your Lambda function there. For more information, see Tutorial: Using AWS Lambda with Amazon Simple Notification Service.
  3. Create CloudWatch Alarm to monitor the metric you created in step #1. For more information, see Create a CloudWatch alarm based on a static threshold.

Keep the following in mind when defining the alarm:

  • For Period, select a sufficient time range (Example: 10 seconds).
  • For Statistic, select Sum.
  • For Threshold type, select Static.
  • For Define the alarm condition, select Greater > threshold.
  • For Define the threshold value, select 0
  • Configure the alarm's action as the SNS topic you created earlier.
AWS
专家
Tedy_T
已回答 4 年前
profile picture
专家
已审核 1 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则