mirror of
https://github.com/Sea-Haven-Industries/seahaven-door-unlock-api.git
synced 2026-09-30 05:53:12 +00:00
45 lines
1.6 KiB
Terraform
45 lines
1.6 KiB
Terraform
|
|
locals {
|
||
|
|
alarm_functions = {
|
||
|
|
unlock = {
|
||
|
|
function_name = aws_lambda_function.unlock.function_name
|
||
|
|
description = "door-unlock-api-unlock Lambda is erroring — physical door unlock calls may be failing"
|
||
|
|
}
|
||
|
|
lockdown = {
|
||
|
|
function_name = aws_lambda_function.lockdown.function_name
|
||
|
|
description = "door-unlock-api-lockdown Lambda is erroring — lockdown commands may not be executing"
|
||
|
|
}
|
||
|
|
authorizer = {
|
||
|
|
function_name = aws_lambda_function.authorizer.function_name
|
||
|
|
description = "door-unlock-api-authorizer Lambda is erroring — all API requests will be rejected"
|
||
|
|
}
|
||
|
|
poller = {
|
||
|
|
function_name = aws_lambda_function.poller.function_name
|
||
|
|
description = "door-unlock-api-lockdown-poller Lambda is erroring — lockdown state polling may be broken"
|
||
|
|
}
|
||
|
|
blf_sync = {
|
||
|
|
function_name = aws_lambda_function.blf_sync.function_name
|
||
|
|
description = "door-unlock-api-blf-sync Lambda is erroring — department BLF updates may not be applying"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
resource "aws_cloudwatch_metric_alarm" "lambda_errors" {
|
||
|
|
for_each = local.alarm_functions
|
||
|
|
|
||
|
|
alarm_name = "${each.value.function_name}-errors"
|
||
|
|
alarm_description = each.value.description
|
||
|
|
namespace = "AWS/Lambda"
|
||
|
|
metric_name = "Errors"
|
||
|
|
statistic = "Sum"
|
||
|
|
period = 300
|
||
|
|
evaluation_periods = 1
|
||
|
|
threshold = 0
|
||
|
|
comparison_operator = "GreaterThanThreshold"
|
||
|
|
treat_missing_data = "notBreaching"
|
||
|
|
alarm_actions = [data.aws_sns_topic.site_alerts.arn]
|
||
|
|
|
||
|
|
dimensions = {
|
||
|
|
FunctionName = each.value.function_name
|
||
|
|
}
|
||
|
|
}
|