diff --git a/terraform/indexing-subsystem/locals.tf b/terraform/indexing-subsystem/locals.tf index 2edc07eb..1edab8dc 100644 --- a/terraform/indexing-subsystem/locals.tf +++ b/terraform/indexing-subsystem/locals.tf @@ -2,4 +2,14 @@ locals { uploader_lambda = { name = "uploader" } + + percentiles = [ + "1", + "10", + "25", + "50", + "75", + "90", + "99", + ] } diff --git a/terraform/indexing-subsystem/log.tf b/terraform/indexing-subsystem/log.tf index 6976a263..6d9878e4 100644 --- a/terraform/indexing-subsystem/log.tf +++ b/terraform/indexing-subsystem/log.tf @@ -48,6 +48,53 @@ resource "aws_cloudwatch_log_metric_filter" "uploader_lambda_s3_heads_count" { } } +resource "aws_cloudwatch_log_metric_filter" "uploader_lambda_s3_heads_duration_count" { + name = "uploader-lambda-s3-heads-duration-count" + pattern = "{ $.ipfs_provider_component = \"uploader-lambda\" }" + log_group_name = aws_cloudwatch_log_group.uploader_log_group.name + + metric_transformation { + namespace = "uploader-lambda-metrics" + name = "s3-heads-duration-count" + value = "$.metrics.s3-heads-durations.count" + dimensions = { + ipfs_provider_component = "$.ipfs_provider_component" + } + } +} + +resource "aws_cloudwatch_log_metric_filter" "uploader_lambda_s3_heads_duration_mean" { + name = "uploader-lambda-s3-heads-duration-mean" + pattern = "{ $.ipfs_provider_component = \"uploader-lambda\" }" + log_group_name = aws_cloudwatch_log_group.uploader_log_group.name + + metric_transformation { + namespace = "uploader-lambda-metrics" + name = "s3-heads-duration-mean" + value = "$.metrics.s3-heads-durations.mean" + dimensions = { + ipfs_provider_component = "$.ipfs_provider_component" + } + } +} + +resource "aws_cloudwatch_log_metric_filter" "uploader_lambda_s3_heads_duration_percentiles" { + for_each = { for percentile in local.percentiles : percentile => percentile } + name = "uploader-lambda-s3_heads_duration-percentile-${each.value}" + pattern = "{ $.ipfs_provider_component = \"uploader-lambda\" }" + log_group_name = aws_cloudwatch_log_group.uploader_log_group.name + + metric_transformation { + namespace = "uploader-lambda-metrics" + name = "s3_heads_duration-percentile-${each.value}" + value = "$.metrics.s3-heads-durations.percentiles.${each.value}" + dimensions = { + ipfs_provider_component = "$.ipfs_provider_component" + } + } +} + + resource "aws_cloudwatch_log_metric_filter" "uploader_lambda_s3_signs_count" { name = "uploader-lambda-s3-signs-count" pattern = "{ $.ipfs_provider_component = \"uploader-lambda\" }" @@ -63,3 +110,5 @@ resource "aws_cloudwatch_log_metric_filter" "uploader_lambda_s3_signs_count" { } } + +# TODO: Also get signs_durations \ No newline at end of file diff --git a/terraform/peer-subsystem/main.tf b/terraform/peer-subsystem/main.tf index 8bc76e83..93dc077f 100644 --- a/terraform/peer-subsystem/main.tf +++ b/terraform/peer-subsystem/main.tf @@ -167,7 +167,6 @@ resource "aws_security_group_rule" "fargate_ingress" { security_group_id = module.eks.cluster_primary_security_group_id } - resource "aws_security_group_rule" "fargate_egress" { description = "Node to cluster - Fargate kubelet (Required for Metrics Server)" protocol = "tcp" @@ -198,7 +197,6 @@ resource "aws_security_group_rule" "dns_ingress_udp" { security_group_id = module.eks.node_security_group_id } - module "kube-base-components" { source = "../modules/kube-base-components" cluster_oidc_issuer_url = module.eks.cluster_oidc_issuer_url