View a markdown version of this page

Alarm suppressor in AMS Resource Scheduler - AMS Accelerate User Guide

Alarm suppressor in AMS Resource Scheduler

AMS Resource Scheduler comes with a CloudWatch Alarm suppressor, that is deployed as separate Lambda function named AMSAlarmSuppressor that suppresses alarms for instances that are behind an Elastic Load Balancing, Application Load Balancer, or Network Load Balancer. The function runs every 5 minutes, retrieves all alarms present in the account and groups them based on namespace; for example, AWS/ELB, AWS/ApplicationELB, AWS/NetworkELB. For each group of alarms the suppressor finds the load balancer name and/or target group (for ALB/NLB) from alarm dimensions, finds the instances that are registered with the load balancer and/or target group, and checks the instance state to discover if the instances are scheduled by AMS Resource Scheduler. If instances are scheduled by Resource Scheduler, and are stopped by Resource Scheduler, the suppressor then marks the alarms to disable them. If at least one instance in the registered instance list is running, suppressor marks corresponding alarms to enable the alarms that are marked for enabling, and disable alarms that are marked for disabling. Logs for this are stored in the /aws/lambda/AMSAlarmSuppressor log group.