Skip to content

Commit f3370af

Browse files
Peer review platform; inline api gw alarms; name convention
1 parent f35a34b commit f3370af

19 files changed

Lines changed: 27 additions & 135 deletions

infrastructure/terraform/components/api/README.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,6 @@ No requirements.
4545
|------|--------|---------|
4646
| <a name="module_amendment_event_transformer"></a> [amendment\_event\_transformer](#module\_amendment\_event\_transformer) | https://github.com/NHSDigital/nhs-notify-shared-modules/releases/download/v2.0.29/terraform-lambda.zip | n/a |
4747
| <a name="module_amendments_queue"></a> [amendments\_queue](#module\_amendments\_queue) | https://github.com/NHSDigital/nhs-notify-shared-modules/releases/download/v2.0.24/terraform-sqs.zip | n/a |
48-
| <a name="module_apigw_alarms"></a> [apigw\_alarms](#module\_apigw\_alarms) | ../../modules/alarms-apigw | n/a |
4948
| <a name="module_authorizer_lambda"></a> [authorizer\_lambda](#module\_authorizer\_lambda) | https://github.com/NHSDigital/nhs-notify-shared-modules/releases/download/v2.0.29/terraform-lambda.zip | n/a |
5049
| <a name="module_ddb_alarms_letter_queue"></a> [ddb\_alarms\_letter\_queue](#module\_ddb\_alarms\_letter\_queue) | ../../modules/alarms-ddb | n/a |
5150
| <a name="module_ddb_alarms_letters"></a> [ddb\_alarms\_letters](#module\_ddb\_alarms\_letters) | ../../modules/alarms-ddb | n/a |

infrastructure/terraform/modules/alarms-apigw/alarm-5xx.tf renamed to infrastructure/terraform/components/api/cloudwatch_metric_alarm_apigw_5xx.tf

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,22 @@
1-
resource "aws_cloudwatch_metric_alarm" "five_xx" {
2-
alarm_name = "${var.alarm_prefix}-apigw-5xx"
1+
resource "aws_cloudwatch_metric_alarm" "apigw_five_xx" {
2+
alarm_name = "${local.csi}-apigw-5xx"
33
alarm_description = "RELIABILITY: API Gateway 5xx responses"
44

55
namespace = "AWS/ApiGateway"
66
metric_name = "5XXError"
77
statistic = "Sum"
8-
period = var.error_5xx_period_seconds
8+
period = 60
99

10-
evaluation_periods = var.error_5xx_evaluation_periods
11-
threshold = var.error_5xx_threshold
10+
evaluation_periods = 1
11+
threshold = 0
1212
comparison_operator = "GreaterThanThreshold"
1313
treat_missing_data = "notBreaching"
1414

15-
dimensions = local.api_dimensions
15+
dimensions = local.apigw_alarm_dimensions
1616

1717
actions_enabled = false
1818
alarm_actions = []
1919
ok_actions = []
2020
insufficient_data_actions = []
21-
tags = var.tags
21+
tags = local.default_tags
2222
}

infrastructure/terraform/modules/alarms-apigw/alarm-latency-anomaly.tf renamed to infrastructure/terraform/components/api/cloudwatch_metric_alarm_apigw_latency_anomaly.tf

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,33 @@
1-
resource "aws_cloudwatch_metric_alarm" "latency_anomaly" {
2-
alarm_name = "${var.alarm_prefix}-apigw-latency-anomaly"
1+
resource "aws_cloudwatch_metric_alarm" "apigw_latency_anomaly" {
2+
alarm_name = "${local.csi}-apigw-latency-anomaly"
33
alarm_description = "RELIABILITY: API Gateway latency anomaly"
44
comparison_operator = "GreaterThanUpperThreshold"
5-
evaluation_periods = var.latency_evaluation_periods
6-
datapoints_to_alarm = var.latency_datapoints_to_alarm
5+
evaluation_periods = 5
6+
datapoints_to_alarm = 3
77
threshold_metric_id = "ad1"
88
treat_missing_data = "notBreaching"
99

1010
actions_enabled = false
1111
alarm_actions = []
1212
ok_actions = []
1313
insufficient_data_actions = []
14-
tags = var.tags
14+
tags = local.default_tags
1515

1616
metric_query {
1717
id = "m1"
1818
metric {
1919
metric_name = "Latency"
2020
namespace = "AWS/ApiGateway"
2121
stat = "Average"
22-
period = var.latency_period_seconds
23-
dimensions = local.api_dimensions
22+
period = 60
23+
dimensions = local.apigw_alarm_dimensions
2424
}
2525
return_data = true
2626
}
2727

2828
metric_query {
2929
id = "ad1"
30-
expression = "ANOMALY_DETECTION_BAND(m1, ${var.latency_anomaly_sensitivity})"
30+
expression = "ANOMALY_DETECTION_BAND(m1, 2)"
3131
label = "Latency (expected)"
3232
return_data = true
3333
}

infrastructure/terraform/modules/alarms-apigw/alarm-latency-threshold.tf renamed to infrastructure/terraform/components/api/cloudwatch_metric_alarm_apigw_latency_threshold.tf

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,22 @@
1-
resource "aws_cloudwatch_metric_alarm" "latency_threshold" {
2-
alarm_name = "${var.alarm_prefix}-apigw-latency-threshold"
1+
resource "aws_cloudwatch_metric_alarm" "apigw_latency_threshold" {
2+
alarm_name = "${local.csi}-apigw-latency-threshold"
33
alarm_description = "RELIABILITY: API Gateway latency above threshold"
44

55
namespace = "AWS/ApiGateway"
66
metric_name = "Latency"
77
statistic = "Average"
8-
period = var.latency_period_seconds
8+
period = 60
99

10-
evaluation_periods = var.latency_evaluation_periods
11-
threshold = var.latency_threshold_ms
10+
evaluation_periods = 5
11+
threshold = 29000
1212
comparison_operator = "GreaterThanThreshold"
1313
treat_missing_data = "notBreaching"
1414

15-
dimensions = local.api_dimensions
15+
dimensions = local.apigw_alarm_dimensions
1616

1717
actions_enabled = false
1818
alarm_actions = []
1919
ok_actions = []
2020
insufficient_data_actions = []
21-
tags = var.tags
21+
tags = local.default_tags
2222
}

infrastructure/terraform/components/api/cloudwatch_metric_alarm_apim_auth_cert_expirty.tf renamed to infrastructure/terraform/components/api/cloudwatch_metric_alarm_apim_auth_cert_expiry.tf

File renamed without changes.

infrastructure/terraform/components/api/locals_alarms.tf

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,9 @@
11
locals {
2+
apigw_alarm_dimensions = {
3+
ApiName = aws_api_gateway_rest_api.main.name
4+
Stage = aws_api_gateway_stage.main.stage_name
5+
}
6+
27
lambda_alarm_targets = {
38
authorizer_lambda = module.authorizer_lambda.function_name
49
get_letter = module.get_letter.function_name

infrastructure/terraform/components/api/module_apigw_alarms.tf

Lines changed: 0 additions & 7 deletions
This file was deleted.

infrastructure/terraform/modules/alarms-apigw/README.md

Lines changed: 0 additions & 34 deletions
This file was deleted.

infrastructure/terraform/modules/alarms-apigw/locals.tf

Lines changed: 0 additions & 6 deletions
This file was deleted.

infrastructure/terraform/modules/alarms-apigw/variables.tf

Lines changed: 0 additions & 56 deletions
This file was deleted.

0 commit comments

Comments
 (0)