https://docs.aws.amazon.com/ko_kr/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html
https://medium.com/@dithya512m/trigger-aws-lambda-directly-from-cloudwatch-alarm-d9844a410e8c
https://devopslearning.medium.com/100-days-of-aws-day-9-using-cloudwatch-logs-metric-filters-to-create-a-simple-monitoring-6033f4612e8e




<aside>
🌟 queue=scheduled_queries 라는 text가 log에 30초동안 10번 이하로 뜨면 lambda trigger
</aside>




Lambda → Configuration → Permission 들어가서 필요한 권한 추가


import gzip
import json
import base64
import os
import urllib3
http = urllib3.PoolManager()
SLACK_URL = "<https://hooks.slack.com/services/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>"
def post_to_slack(message, webhook_url):
slack_payload = {'text': f"<@U02T9C05SRZ> {message}"}
data = json.dumps(slack_payload).encode('utf-8')
response = http.request(
method='POST',
url=webhook_url,
body=data
)
return response
def lambda_handler(event, context):
message = event.get("alarmData", "Scheduled Queries below Threshold")
post_to_slack(message, SLACK_URL)
return