From 69877d359eee8595e1ac085cfd230ae8176c24f2 Mon Sep 17 00:00:00 2001 From: Adam Moussa Date: Wed, 17 Jun 2026 11:46:25 -0400 Subject: [PATCH] Add CloudWatch error alarm for afterhours-ring-scheduler The live afterhours-ring-scheduler Lambda had no error alarm. Add a CloudWatch Errors alarm mirroring the existing HolidayRouterErrorAlarm: AWS/Lambda Errors, Sum over one 5-min period, threshold >=1, missing data notBreaching, paging the site-alerts SNS topic. The orphaned Lambda-Errors-3cx-ring-group-scheduler alarm (pointing at a renamed/absent function) is being removed separately. --- template.yaml | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/template.yaml b/template.yaml index 98e9aea..9ecbc77 100644 --- a/template.yaml +++ b/template.yaml @@ -282,6 +282,29 @@ Resources: Description: "Update 3CX queue at 5pm EDT weekends" Enabled: true + # Lambda error alarm for the ring scheduler. Mirrors the account-wide + # operational convention (Lambda-Errors-, threshold 1 over one 5-min + # period, Sum, missing=notBreaching) and pages the same site-alerts SNS topic + # → AWS Chatbot → Slack as the other afterhours-* functions. + RingSchedulerErrorAlarm: + Type: AWS::CloudWatch::Alarm + Properties: + AlarmName: !Sub "Lambda-Errors-${RingSchedulerFunction}" + AlarmDescription: "Ring scheduler Lambda reported one or more errors" + Namespace: AWS/Lambda + MetricName: Errors + Dimensions: + - Name: FunctionName + Value: !Ref RingSchedulerFunction + Statistic: Sum + Period: 300 + EvaluationPeriods: 1 + Threshold: 1 + ComparisonOperator: GreaterThanOrEqualToThreshold + TreatMissingData: notBreaching + AlarmActions: + - !Sub "arn:aws:sns:${AWS::Region}:${AWS::AccountId}:site-alerts" + # --- Holiday Router (repoints 3CX IVR/queue for a holiday day-shift) --- # Invoked with {"action": "activate"|"deactivate", "date": ""} at # 08:00 ET (activate) and 17:00 ET (deactivate) for each holiday date. Both