mirror of
https://github.com/Sea-Haven-Industries/front-integrations.git
synced 2026-09-30 06:03:13 +00:00
Freeze SAM CD and add Terraform for seahaven-prod (Lambdas, DynamoDB, EventBridge, alarms) so HCP becomes the sole deploy path. Include prod secret ARNs in the tfvars example for workspace wiring.
143 lines
4.7 KiB
HCL
143 lines
4.7 KiB
HCL
resource "aws_cloudwatch_metric_alarm" "sla_monitor_errors" {
|
|
alarm_name = "front-sla-monitor-errors"
|
|
alarm_description = "front-sla-monitor invocation errors"
|
|
namespace = "AWS/Lambda"
|
|
metric_name = "Errors"
|
|
statistic = "Sum"
|
|
period = 300
|
|
evaluation_periods = 1
|
|
threshold = 0
|
|
comparison_operator = "GreaterThanThreshold"
|
|
treat_missing_data = "notBreaching"
|
|
alarm_actions = [var.alarm_sns_topic_arn]
|
|
|
|
dimensions = {
|
|
FunctionName = aws_lambda_function.sla_monitor.function_name
|
|
}
|
|
}
|
|
|
|
resource "aws_cloudwatch_metric_alarm" "sla_monitor_throttles" {
|
|
alarm_name = "front-sla-monitor-throttles"
|
|
alarm_description = "front-sla-monitor invocations throttled"
|
|
namespace = "AWS/Lambda"
|
|
metric_name = "Throttles"
|
|
statistic = "Sum"
|
|
period = 300
|
|
evaluation_periods = 1
|
|
threshold = 0
|
|
comparison_operator = "GreaterThanThreshold"
|
|
treat_missing_data = "notBreaching"
|
|
alarm_actions = [var.alarm_sns_topic_arn]
|
|
|
|
dimensions = {
|
|
FunctionName = aws_lambda_function.sla_monitor.function_name
|
|
}
|
|
}
|
|
|
|
resource "aws_cloudwatch_metric_alarm" "sla_monitor_duration" {
|
|
alarm_name = "front-sla-monitor-duration"
|
|
alarm_description = "front-sla-monitor approaching its 300s timeout (>90%)"
|
|
namespace = "AWS/Lambda"
|
|
metric_name = "Duration"
|
|
statistic = "Maximum"
|
|
period = 300
|
|
evaluation_periods = 1
|
|
threshold = 270000
|
|
comparison_operator = "GreaterThanThreshold"
|
|
treat_missing_data = "notBreaching"
|
|
alarm_actions = [var.alarm_sns_topic_arn]
|
|
|
|
dimensions = {
|
|
FunctionName = aws_lambda_function.sla_monitor.function_name
|
|
}
|
|
}
|
|
|
|
resource "aws_cloudwatch_metric_alarm" "user_sync_errors" {
|
|
alarm_name = "front-user-sync-errors"
|
|
alarm_description = "front-user-sync invocation errors"
|
|
namespace = "AWS/Lambda"
|
|
metric_name = "Errors"
|
|
statistic = "Sum"
|
|
period = 300
|
|
evaluation_periods = 1
|
|
threshold = 0
|
|
comparison_operator = "GreaterThanThreshold"
|
|
treat_missing_data = "notBreaching"
|
|
alarm_actions = [var.alarm_sns_topic_arn]
|
|
|
|
dimensions = {
|
|
FunctionName = aws_lambda_function.user_sync.function_name
|
|
}
|
|
}
|
|
|
|
resource "aws_cloudwatch_metric_alarm" "user_sync_throttles" {
|
|
alarm_name = "front-user-sync-throttles"
|
|
alarm_description = "front-user-sync invocations throttled"
|
|
namespace = "AWS/Lambda"
|
|
metric_name = "Throttles"
|
|
statistic = "Sum"
|
|
period = 300
|
|
evaluation_periods = 1
|
|
threshold = 0
|
|
comparison_operator = "GreaterThanThreshold"
|
|
treat_missing_data = "notBreaching"
|
|
alarm_actions = [var.alarm_sns_topic_arn]
|
|
|
|
dimensions = {
|
|
FunctionName = aws_lambda_function.user_sync.function_name
|
|
}
|
|
}
|
|
|
|
resource "aws_cloudwatch_metric_alarm" "user_sync_duration" {
|
|
alarm_name = "front-user-sync-duration"
|
|
alarm_description = "front-user-sync approaching its 300s timeout (>90%)"
|
|
namespace = "AWS/Lambda"
|
|
metric_name = "Duration"
|
|
statistic = "Maximum"
|
|
period = 300
|
|
evaluation_periods = 1
|
|
threshold = 270000
|
|
comparison_operator = "GreaterThanThreshold"
|
|
treat_missing_data = "notBreaching"
|
|
alarm_actions = [var.alarm_sns_topic_arn]
|
|
|
|
dimensions = {
|
|
FunctionName = aws_lambda_function.user_sync.function_name
|
|
}
|
|
}
|
|
|
|
resource "aws_cloudwatch_metric_alarm" "alerts_read_throttle" {
|
|
alarm_name = "front-sla-alerts-read-throttle"
|
|
alarm_description = "front-sla-alerts DynamoDB table had one or more read throttle events"
|
|
namespace = "AWS/DynamoDB"
|
|
metric_name = "ReadThrottleEvents"
|
|
statistic = "Sum"
|
|
period = 300
|
|
evaluation_periods = 1
|
|
threshold = 0
|
|
comparison_operator = "GreaterThanThreshold"
|
|
treat_missing_data = "notBreaching"
|
|
alarm_actions = [var.alarm_sns_topic_arn]
|
|
|
|
dimensions = {
|
|
TableName = aws_dynamodb_table.alerts.name
|
|
}
|
|
}
|
|
|
|
resource "aws_cloudwatch_metric_alarm" "alerts_write_throttle" {
|
|
alarm_name = "front-sla-alerts-write-throttle"
|
|
alarm_description = "front-sla-alerts DynamoDB table had one or more write throttle events"
|
|
namespace = "AWS/DynamoDB"
|
|
metric_name = "WriteThrottleEvents"
|
|
statistic = "Sum"
|
|
period = 300
|
|
evaluation_periods = 1
|
|
threshold = 0
|
|
comparison_operator = "GreaterThanThreshold"
|
|
treat_missing_data = "notBreaching"
|
|
alarm_actions = [var.alarm_sns_topic_arn]
|
|
|
|
dimensions = {
|
|
TableName = aws_dynamodb_table.alerts.name
|
|
}
|
|
}
|