diff --git a/API.md b/API.md index 42fb0e7f..54490dcb 100644 --- a/API.md +++ b/API.md @@ -48951,6 +48951,7 @@ new ApplicationLoadBalancerMetricFactory(metricFactory: MetricFactory, props: Ap | metricHealthyTaskInPercent | *No description.* | | metricNewConnectionCount | *No description.* | | metricProcessedBytesMin | *No description.* | +| metricUnhealthyRoutingCount | *No description.* | | metricUnhealthyTaskCount | *No description.* | --- @@ -48985,6 +48986,12 @@ public metricNewConnectionCount(): Metric | MathExpression public metricProcessedBytesMin(): Metric | MathExpression ``` +##### `metricUnhealthyRoutingCount` + +```typescript +public metricUnhealthyRoutingCount(): Metric | MathExpression +``` + ##### `metricUnhealthyTaskCount` ```typescript @@ -55547,6 +55554,7 @@ public createTpcFlowsWidget(width: number, height: number): GraphWidget | loadBalancerMetricFactory | ILoadBalancerMetricFactory | *No description.* | | newTcpFlowCountMetric | aws-cdk-lib.aws_cloudwatch.Metric \| aws-cdk-lib.aws_cloudwatch.MathExpression | *No description.* | | processedBytesMetric | aws-cdk-lib.aws_cloudwatch.Metric \| aws-cdk-lib.aws_cloudwatch.MathExpression | *No description.* | +| unhealthyRoutingFlowCountMetric | aws-cdk-lib.aws_cloudwatch.Metric \| aws-cdk-lib.aws_cloudwatch.MathExpression | *No description.* | | unhealthyTaskCountMetric | aws-cdk-lib.aws_cloudwatch.Metric \| aws-cdk-lib.aws_cloudwatch.MathExpression | *No description.* | --- @@ -55751,6 +55759,16 @@ public readonly processedBytesMetric: Metric | MathExpression; --- +##### `unhealthyRoutingFlowCountMetric`Optional + +```typescript +public readonly unhealthyRoutingFlowCountMetric: Metric | MathExpression; +``` + +- *Type:* aws-cdk-lib.aws_cloudwatch.Metric | aws-cdk-lib.aws_cloudwatch.MathExpression + +--- + ##### `unhealthyTaskCountMetric`Optional ```typescript @@ -56922,6 +56940,7 @@ public createTpcFlowsWidget(width: number, height: number): GraphWidget | loadBalancerMetricFactory | ILoadBalancerMetricFactory | *No description.* | | newTcpFlowCountMetric | aws-cdk-lib.aws_cloudwatch.Metric \| aws-cdk-lib.aws_cloudwatch.MathExpression | *No description.* | | processedBytesMetric | aws-cdk-lib.aws_cloudwatch.Metric \| aws-cdk-lib.aws_cloudwatch.MathExpression | *No description.* | +| unhealthyRoutingFlowCountMetric | aws-cdk-lib.aws_cloudwatch.Metric \| aws-cdk-lib.aws_cloudwatch.MathExpression | *No description.* | | unhealthyTaskCountMetric | aws-cdk-lib.aws_cloudwatch.Metric \| aws-cdk-lib.aws_cloudwatch.MathExpression | *No description.* | --- @@ -57126,6 +57145,16 @@ public readonly processedBytesMetric: Metric | MathExpression; --- +##### `unhealthyRoutingFlowCountMetric`Optional + +```typescript +public readonly unhealthyRoutingFlowCountMetric: Metric | MathExpression; +``` + +- *Type:* aws-cdk-lib.aws_cloudwatch.Metric | aws-cdk-lib.aws_cloudwatch.MathExpression + +--- + ##### `unhealthyTaskCountMetric`Optional ```typescript @@ -63145,6 +63174,7 @@ new NetworkLoadBalancerMetricFactory(metricFactory: MetricFactory, props: Networ | metricHealthyTaskInPercent | *No description.* | | metricNewConnectionCount | *No description.* | | metricProcessedBytesMin | *No description.* | +| metricUnhealthyRoutingCount | *No description.* | | metricUnhealthyTaskCount | *No description.* | --- @@ -63179,6 +63209,12 @@ public metricNewConnectionCount(): Metric | MathExpression public metricProcessedBytesMin(): Metric | MathExpression ``` +##### `metricUnhealthyRoutingCount` + +```typescript +public metricUnhealthyRoutingCount(): Metric | MathExpression +``` + ##### `metricUnhealthyTaskCount` ```typescript @@ -73051,6 +73087,7 @@ Common interface for load-balancer based service metric factories. | metricHealthyTaskInPercent | *No description.* | | metricNewConnectionCount | *No description.* | | metricProcessedBytesMin | *No description.* | +| metricUnhealthyRoutingCount | *No description.* | | metricUnhealthyTaskCount | *No description.* | --- @@ -73085,6 +73122,12 @@ public metricNewConnectionCount(): Metric | MathExpression public metricProcessedBytesMin(): Metric | MathExpression ``` +##### `metricUnhealthyRoutingCount` + +```typescript +public metricUnhealthyRoutingCount(): Metric | MathExpression +``` + ##### `metricUnhealthyTaskCount` ```typescript diff --git a/lib/monitoring/aws-ecs-patterns/Ec2ServiceMonitoring.ts b/lib/monitoring/aws-ecs-patterns/Ec2ServiceMonitoring.ts index 4a21c885..22ccb9ac 100644 --- a/lib/monitoring/aws-ecs-patterns/Ec2ServiceMonitoring.ts +++ b/lib/monitoring/aws-ecs-patterns/Ec2ServiceMonitoring.ts @@ -181,6 +181,7 @@ export class Ec2ServiceMonitoring extends Monitoring { readonly ephemeralStorageUsageMetric: MetricWithAlarmSupport; readonly activeTcpFlowCountMetric?: MetricWithAlarmSupport; readonly newTcpFlowCountMetric?: MetricWithAlarmSupport; + readonly unhealthyRoutingFlowCountMetric?: MetricWithAlarmSupport; readonly processedBytesMetric?: MetricWithAlarmSupport; private hasLoadBalancer: boolean; @@ -219,6 +220,8 @@ export class Ec2ServiceMonitoring extends Monitoring { this.loadBalancerMetricFactory.metricActiveConnectionCount(); this.newTcpFlowCountMetric = this.loadBalancerMetricFactory.metricNewConnectionCount(); + this.unhealthyRoutingFlowCountMetric = + this.loadBalancerMetricFactory.metricUnhealthyRoutingCount(); this.processedBytesMetric = this.loadBalancerMetricFactory.metricProcessedBytesMin(); } @@ -451,6 +454,10 @@ export class Ec2ServiceMonitoring extends Monitoring { left.push(this.newTcpFlowCountMetric); } + if (this.unhealthyRoutingFlowCountMetric) { + left.push(this.unhealthyRoutingFlowCountMetric); + } + if (this.processedBytesMetric) { right.push(this.processedBytesMetric); } diff --git a/lib/monitoring/aws-ecs-patterns/FargateServiceMonitoring.ts b/lib/monitoring/aws-ecs-patterns/FargateServiceMonitoring.ts index 8af8f71b..4bbc6db1 100644 --- a/lib/monitoring/aws-ecs-patterns/FargateServiceMonitoring.ts +++ b/lib/monitoring/aws-ecs-patterns/FargateServiceMonitoring.ts @@ -181,6 +181,7 @@ export class FargateServiceMonitoring extends Monitoring { readonly ephemeralStorageUsageMetric: MetricWithAlarmSupport; readonly activeTcpFlowCountMetric?: MetricWithAlarmSupport; readonly newTcpFlowCountMetric?: MetricWithAlarmSupport; + readonly unhealthyRoutingFlowCountMetric?: MetricWithAlarmSupport; readonly processedBytesMetric?: MetricWithAlarmSupport; private hasLoadBalancer: boolean; @@ -222,6 +223,8 @@ export class FargateServiceMonitoring extends Monitoring { this.loadBalancerMetricFactory.metricActiveConnectionCount(); this.newTcpFlowCountMetric = this.loadBalancerMetricFactory.metricNewConnectionCount(); + this.unhealthyRoutingFlowCountMetric = + this.loadBalancerMetricFactory.metricUnhealthyRoutingCount(); this.processedBytesMetric = this.loadBalancerMetricFactory.metricProcessedBytesMin(); } @@ -455,6 +458,10 @@ export class FargateServiceMonitoring extends Monitoring { left.push(this.newTcpFlowCountMetric); } + if (this.unhealthyRoutingFlowCountMetric) { + left.push(this.unhealthyRoutingFlowCountMetric); + } + if (this.processedBytesMetric) { right.push(this.processedBytesMetric); } diff --git a/lib/monitoring/aws-loadbalancing/ApplicationLoadBalancerMetricFactory.ts b/lib/monitoring/aws-loadbalancing/ApplicationLoadBalancerMetricFactory.ts index 20c1f1f6..10e3933f 100644 --- a/lib/monitoring/aws-loadbalancing/ApplicationLoadBalancerMetricFactory.ts +++ b/lib/monitoring/aws-loadbalancing/ApplicationLoadBalancerMetricFactory.ts @@ -107,4 +107,21 @@ export class ApplicationLoadBalancerMetricFactory }) ); } + + metricUnhealthyRoutingCount() { + const unhealthyRoutingRequestCount = this.metricFactory.adaptMetric( + this.applicationTargetGroup.metrics.custom( + "UnhealthyRoutingRequestCount", + { + statistic: MetricStatistic.SUM, + } + ) + ); + + return this.metricFactory.createMetricMath( + "FILL(unhealthyRoutingRequestCount, 0)", + { unhealthyRoutingRequestCount }, + "Unhealthy routing (fail open)" + ); + } } diff --git a/lib/monitoring/aws-loadbalancing/LoadBalancerMetricFactory.ts b/lib/monitoring/aws-loadbalancing/LoadBalancerMetricFactory.ts index cc036d80..f55dba33 100644 --- a/lib/monitoring/aws-loadbalancing/LoadBalancerMetricFactory.ts +++ b/lib/monitoring/aws-loadbalancing/LoadBalancerMetricFactory.ts @@ -104,5 +104,7 @@ export interface ILoadBalancerMetricFactory { metricNewConnectionCount(): MetricWithAlarmSupport; + metricUnhealthyRoutingCount(): MetricWithAlarmSupport; + metricProcessedBytesMin(): MetricWithAlarmSupport; } diff --git a/lib/monitoring/aws-loadbalancing/NetworkLoadBalancerMetricFactory.ts b/lib/monitoring/aws-loadbalancing/NetworkLoadBalancerMetricFactory.ts index 825d7420..23f6fdd1 100644 --- a/lib/monitoring/aws-loadbalancing/NetworkLoadBalancerMetricFactory.ts +++ b/lib/monitoring/aws-loadbalancing/NetworkLoadBalancerMetricFactory.ts @@ -107,4 +107,18 @@ export class NetworkLoadBalancerMetricFactory }) ); } + + metricUnhealthyRoutingCount() { + const unhealthyRoutingFlowCount = this.metricFactory.adaptMetric( + this.networkLoadBalancer.metrics.custom("UnhealthyRoutingFlowCount", { + statistic: MetricStatistic.SUM, + }) + ); + + return this.metricFactory.createMetricMath( + "FILL(unhealthyRoutingFlowCount, 0)", + { unhealthyRoutingFlowCount }, + "Unhealthy routing (fail open)" + ); + } } diff --git a/lib/monitoring/aws-loadbalancing/NetworkLoadBalancerMonitoring.ts b/lib/monitoring/aws-loadbalancing/NetworkLoadBalancerMonitoring.ts index c92d370d..c7b1f8b3 100644 --- a/lib/monitoring/aws-loadbalancing/NetworkLoadBalancerMonitoring.ts +++ b/lib/monitoring/aws-loadbalancing/NetworkLoadBalancerMonitoring.ts @@ -62,6 +62,7 @@ export class NetworkLoadBalancerMonitoring extends Monitoring { protected readonly healthyTaskPercentMetric: MetricWithAlarmSupport; protected readonly activeTcpFlowCountMetric: MetricWithAlarmSupport; protected readonly newTcpFlowCountMetric: MetricWithAlarmSupport; + protected readonly unhealthyRoutingFlowCountMetric: MetricWithAlarmSupport; protected readonly processedBytesMetric: MetricWithAlarmSupport; constructor( @@ -89,6 +90,8 @@ export class NetworkLoadBalancerMonitoring extends Monitoring { this.activeTcpFlowCountMetric = this.metricFactory.metricActiveConnectionCount(); this.newTcpFlowCountMetric = this.metricFactory.metricNewConnectionCount(); + this.unhealthyRoutingFlowCountMetric = + this.metricFactory.metricUnhealthyRoutingCount(); this.processedBytesMetric = this.metricFactory.metricProcessedBytesMin(); const alarmFactory = this.createAlarmFactory( @@ -184,7 +187,11 @@ export class NetworkLoadBalancerMonitoring extends Monitoring { width, height, title: "TCP Flows", - left: [this.activeTcpFlowCountMetric, this.newTcpFlowCountMetric], + left: [ + this.activeTcpFlowCountMetric, + this.newTcpFlowCountMetric, + this.unhealthyRoutingFlowCountMetric, + ], leftYAxis: CountAxisFromZero, right: [this.processedBytesMetric], rightYAxis: SizeAxisBytesFromZero, diff --git a/test/monitoring/aws-ecs-patterns/__snapshots__/Ec2ServiceMonitoring.test.ts.snap b/test/monitoring/aws-ecs-patterns/__snapshots__/Ec2ServiceMonitoring.test.ts.snap index cc327d43..e5f11af3 100644 --- a/test/monitoring/aws-ecs-patterns/__snapshots__/Ec2ServiceMonitoring.test.ts.snap +++ b/test/monitoring/aws-ecs-patterns/__snapshots__/Ec2ServiceMonitoring.test.ts.snap @@ -1179,7 +1179,56 @@ echo ECS_AWSVPC_BLOCK_IMDS=true >> /etc/ecs/ecs.config", "LoadBalancerFullName", ], }, - "\\",{\\"label\\":\\"New\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/ApplicationELB\\",\\"ProcessedBytes\\",\\"LoadBalancer\\",\\"", + "\\",{\\"label\\":\\"New\\",\\"stat\\":\\"Sum\\"}],[{\\"label\\":\\"Unhealthy routing (fail open)\\",\\"expression\\":\\"FILL(unhealthyRoutingRequestCount, 0)\\"}],[\\"AWS/ApplicationELB\\",\\"UnhealthyRoutingRequestCount\\",\\"LoadBalancer\\",\\"", + Object { + "Fn::Select": Array [ + 1, + Object { + "Fn::Split": Array [ + "/", + Object { + "Ref": "ServiceLBPublicListener46709EAA", + }, + ], + }, + ], + }, + "/", + Object { + "Fn::Select": Array [ + 2, + Object { + "Fn::Split": Array [ + "/", + Object { + "Ref": "ServiceLBPublicListener46709EAA", + }, + ], + }, + ], + }, + "/", + Object { + "Fn::Select": Array [ + 3, + Object { + "Fn::Split": Array [ + "/", + Object { + "Ref": "ServiceLBPublicListener46709EAA", + }, + ], + }, + ], + }, + "\\",\\"TargetGroup\\",\\"", + Object { + "Fn::GetAtt": Array [ + "ServiceLBPublicListenerECSGroup0CC8688C", + "TargetGroupFullName", + ], + }, + "\\",{\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"unhealthyRoutingRequestCount\\"}],[\\"AWS/ApplicationELB\\",\\"ProcessedBytes\\",\\"LoadBalancer\\",\\"", Object { "Fn::GetAtt": Array [ "ServiceLBE9A1ADBC", @@ -3601,7 +3650,56 @@ echo ECS_AWSVPC_BLOCK_IMDS=true >> /etc/ecs/ecs.config", "LoadBalancerFullName", ], }, - "\\",{\\"label\\":\\"New\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/ApplicationELB\\",\\"ProcessedBytes\\",\\"LoadBalancer\\",\\"", + "\\",{\\"label\\":\\"New\\",\\"stat\\":\\"Sum\\"}],[{\\"label\\":\\"Unhealthy routing (fail open)\\",\\"expression\\":\\"FILL(unhealthyRoutingRequestCount, 0)\\"}],[\\"AWS/ApplicationELB\\",\\"UnhealthyRoutingRequestCount\\",\\"LoadBalancer\\",\\"", + Object { + "Fn::Select": Array [ + 1, + Object { + "Fn::Split": Array [ + "/", + Object { + "Ref": "ServiceLBPublicListener46709EAA", + }, + ], + }, + ], + }, + "/", + Object { + "Fn::Select": Array [ + 2, + Object { + "Fn::Split": Array [ + "/", + Object { + "Ref": "ServiceLBPublicListener46709EAA", + }, + ], + }, + ], + }, + "/", + Object { + "Fn::Select": Array [ + 3, + Object { + "Fn::Split": Array [ + "/", + Object { + "Ref": "ServiceLBPublicListener46709EAA", + }, + ], + }, + ], + }, + "\\",\\"TargetGroup\\",\\"", + Object { + "Fn::GetAtt": Array [ + "ServiceLBPublicListenerECSGroup0CC8688C", + "TargetGroupFullName", + ], + }, + "\\",{\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"unhealthyRoutingRequestCount\\"}],[\\"AWS/ApplicationELB\\",\\"ProcessedBytes\\",\\"LoadBalancer\\",\\"", Object { "Fn::GetAtt": Array [ "ServiceLBE9A1ADBC", @@ -6023,7 +6121,56 @@ echo ECS_AWSVPC_BLOCK_IMDS=true >> /etc/ecs/ecs.config", "LoadBalancerFullName", ], }, - "\\",{\\"label\\":\\"New\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/ApplicationELB\\",\\"ProcessedBytes\\",\\"LoadBalancer\\",\\"", + "\\",{\\"label\\":\\"New\\",\\"stat\\":\\"Sum\\"}],[{\\"label\\":\\"Unhealthy routing (fail open)\\",\\"expression\\":\\"FILL(unhealthyRoutingRequestCount, 0)\\"}],[\\"AWS/ApplicationELB\\",\\"UnhealthyRoutingRequestCount\\",\\"LoadBalancer\\",\\"", + Object { + "Fn::Select": Array [ + 1, + Object { + "Fn::Split": Array [ + "/", + Object { + "Ref": "ServiceLBPublicListener46709EAA", + }, + ], + }, + ], + }, + "/", + Object { + "Fn::Select": Array [ + 2, + Object { + "Fn::Split": Array [ + "/", + Object { + "Ref": "ServiceLBPublicListener46709EAA", + }, + ], + }, + ], + }, + "/", + Object { + "Fn::Select": Array [ + 3, + Object { + "Fn::Split": Array [ + "/", + Object { + "Ref": "ServiceLBPublicListener46709EAA", + }, + ], + }, + ], + }, + "\\",\\"TargetGroup\\",\\"", + Object { + "Fn::GetAtt": Array [ + "ServiceLBPublicListenerECSGroup0CC8688C", + "TargetGroupFullName", + ], + }, + "\\",{\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"unhealthyRoutingRequestCount\\"}],[\\"AWS/ApplicationELB\\",\\"ProcessedBytes\\",\\"LoadBalancer\\",\\"", Object { "Fn::GetAtt": Array [ "ServiceLBE9A1ADBC", @@ -8350,7 +8497,56 @@ echo ECS_AWSVPC_BLOCK_IMDS=true >> /etc/ecs/ecs.config", "LoadBalancerFullName", ], }, - "\\",{\\"label\\":\\"New\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/ApplicationELB\\",\\"ProcessedBytes\\",\\"LoadBalancer\\",\\"", + "\\",{\\"label\\":\\"New\\",\\"stat\\":\\"Sum\\"}],[{\\"label\\":\\"Unhealthy routing (fail open)\\",\\"expression\\":\\"FILL(unhealthyRoutingRequestCount, 0)\\"}],[\\"AWS/ApplicationELB\\",\\"UnhealthyRoutingRequestCount\\",\\"LoadBalancer\\",\\"", + Object { + "Fn::Select": Array [ + 1, + Object { + "Fn::Split": Array [ + "/", + Object { + "Ref": "ServiceLBPublicListener46709EAA", + }, + ], + }, + ], + }, + "/", + Object { + "Fn::Select": Array [ + 2, + Object { + "Fn::Split": Array [ + "/", + Object { + "Ref": "ServiceLBPublicListener46709EAA", + }, + ], + }, + ], + }, + "/", + Object { + "Fn::Select": Array [ + 3, + Object { + "Fn::Split": Array [ + "/", + Object { + "Ref": "ServiceLBPublicListener46709EAA", + }, + ], + }, + ], + }, + "\\",\\"TargetGroup\\",\\"", + Object { + "Fn::GetAtt": Array [ + "ServiceLBPublicListenerECSGroup0CC8688C", + "TargetGroupFullName", + ], + }, + "\\",{\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"unhealthyRoutingRequestCount\\"}],[\\"AWS/ApplicationELB\\",\\"ProcessedBytes\\",\\"LoadBalancer\\",\\"", Object { "Fn::GetAtt": Array [ "ServiceLBE9A1ADBC", @@ -10073,7 +10269,56 @@ echo ECS_AWSVPC_BLOCK_IMDS=true >> /etc/ecs/ecs.config", "LoadBalancerFullName", ], }, - "\\",{\\"label\\":\\"New\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/ApplicationELB\\",\\"ProcessedBytes\\",\\"LoadBalancer\\",\\"", + "\\",{\\"label\\":\\"New\\",\\"stat\\":\\"Sum\\"}],[{\\"label\\":\\"Unhealthy routing (fail open)\\",\\"expression\\":\\"FILL(unhealthyRoutingRequestCount, 0)\\"}],[\\"AWS/ApplicationELB\\",\\"UnhealthyRoutingRequestCount\\",\\"LoadBalancer\\",\\"", + Object { + "Fn::Select": Array [ + 1, + Object { + "Fn::Split": Array [ + "/", + Object { + "Ref": "ServiceLBPublicListener46709EAA", + }, + ], + }, + ], + }, + "/", + Object { + "Fn::Select": Array [ + 2, + Object { + "Fn::Split": Array [ + "/", + Object { + "Ref": "ServiceLBPublicListener46709EAA", + }, + ], + }, + ], + }, + "/", + Object { + "Fn::Select": Array [ + 3, + Object { + "Fn::Split": Array [ + "/", + Object { + "Ref": "ServiceLBPublicListener46709EAA", + }, + ], + }, + ], + }, + "\\",\\"TargetGroup\\",\\"", + Object { + "Fn::GetAtt": Array [ + "ServiceLBPublicListenerECSGroup0CC8688C", + "TargetGroupFullName", + ], + }, + "\\",{\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"unhealthyRoutingRequestCount\\"}],[\\"AWS/ApplicationELB\\",\\"ProcessedBytes\\",\\"LoadBalancer\\",\\"", Object { "Fn::GetAtt": Array [ "ServiceLBE9A1ADBC", @@ -11796,7 +12041,56 @@ echo ECS_AWSVPC_BLOCK_IMDS=true >> /etc/ecs/ecs.config", "LoadBalancerFullName", ], }, - "\\",{\\"label\\":\\"New\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/ApplicationELB\\",\\"ProcessedBytes\\",\\"LoadBalancer\\",\\"", + "\\",{\\"label\\":\\"New\\",\\"stat\\":\\"Sum\\"}],[{\\"label\\":\\"Unhealthy routing (fail open)\\",\\"expression\\":\\"FILL(unhealthyRoutingRequestCount, 0)\\"}],[\\"AWS/ApplicationELB\\",\\"UnhealthyRoutingRequestCount\\",\\"LoadBalancer\\",\\"", + Object { + "Fn::Select": Array [ + 1, + Object { + "Fn::Split": Array [ + "/", + Object { + "Ref": "ServiceLBPublicListener46709EAA", + }, + ], + }, + ], + }, + "/", + Object { + "Fn::Select": Array [ + 2, + Object { + "Fn::Split": Array [ + "/", + Object { + "Ref": "ServiceLBPublicListener46709EAA", + }, + ], + }, + ], + }, + "/", + Object { + "Fn::Select": Array [ + 3, + Object { + "Fn::Split": Array [ + "/", + Object { + "Ref": "ServiceLBPublicListener46709EAA", + }, + ], + }, + ], + }, + "\\",\\"TargetGroup\\",\\"", + Object { + "Fn::GetAtt": Array [ + "ServiceLBPublicListenerECSGroup0CC8688C", + "TargetGroupFullName", + ], + }, + "\\",{\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"unhealthyRoutingRequestCount\\"}],[\\"AWS/ApplicationELB\\",\\"ProcessedBytes\\",\\"LoadBalancer\\",\\"", Object { "Fn::GetAtt": Array [ "ServiceLBE9A1ADBC", @@ -13577,7 +13871,14 @@ echo ECS_AWSVPC_BLOCK_IMDS=true >> /etc/ecs/ecs.config", "LoadBalancerFullName", ], }, - "\\",{\\"label\\":\\"New\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/NetworkELB\\",\\"ProcessedBytes\\",\\"LoadBalancer\\",\\"", + "\\",{\\"label\\":\\"New\\",\\"stat\\":\\"Sum\\"}],[{\\"label\\":\\"Unhealthy routing (fail open)\\",\\"expression\\":\\"FILL(unhealthyRoutingFlowCount, 0)\\"}],[\\"AWS/NetworkELB\\",\\"UnhealthyRoutingFlowCount\\",\\"LoadBalancer\\",\\"", + Object { + "Fn::GetAtt": Array [ + "ServiceLBE9A1ADBC", + "LoadBalancerFullName", + ], + }, + "\\",{\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"unhealthyRoutingFlowCount\\"}],[\\"AWS/NetworkELB\\",\\"ProcessedBytes\\",\\"LoadBalancer\\",\\"", Object { "Fn::GetAtt": Array [ "ServiceLBE9A1ADBC", @@ -15909,7 +16210,14 @@ echo ECS_AWSVPC_BLOCK_IMDS=true >> /etc/ecs/ecs.config", "LoadBalancerFullName", ], }, - "\\",{\\"label\\":\\"New\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/NetworkELB\\",\\"ProcessedBytes\\",\\"LoadBalancer\\",\\"", + "\\",{\\"label\\":\\"New\\",\\"stat\\":\\"Sum\\"}],[{\\"label\\":\\"Unhealthy routing (fail open)\\",\\"expression\\":\\"FILL(unhealthyRoutingFlowCount, 0)\\"}],[\\"AWS/NetworkELB\\",\\"UnhealthyRoutingFlowCount\\",\\"LoadBalancer\\",\\"", + Object { + "Fn::GetAtt": Array [ + "ServiceLBE9A1ADBC", + "LoadBalancerFullName", + ], + }, + "\\",{\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"unhealthyRoutingFlowCount\\"}],[\\"AWS/NetworkELB\\",\\"ProcessedBytes\\",\\"LoadBalancer\\",\\"", Object { "Fn::GetAtt": Array [ "ServiceLBE9A1ADBC", @@ -18241,7 +18549,14 @@ echo ECS_AWSVPC_BLOCK_IMDS=true >> /etc/ecs/ecs.config", "LoadBalancerFullName", ], }, - "\\",{\\"label\\":\\"New\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/NetworkELB\\",\\"ProcessedBytes\\",\\"LoadBalancer\\",\\"", + "\\",{\\"label\\":\\"New\\",\\"stat\\":\\"Sum\\"}],[{\\"label\\":\\"Unhealthy routing (fail open)\\",\\"expression\\":\\"FILL(unhealthyRoutingFlowCount, 0)\\"}],[\\"AWS/NetworkELB\\",\\"UnhealthyRoutingFlowCount\\",\\"LoadBalancer\\",\\"", + Object { + "Fn::GetAtt": Array [ + "ServiceLBE9A1ADBC", + "LoadBalancerFullName", + ], + }, + "\\",{\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"unhealthyRoutingFlowCount\\"}],[\\"AWS/NetworkELB\\",\\"ProcessedBytes\\",\\"LoadBalancer\\",\\"", Object { "Fn::GetAtt": Array [ "ServiceLBE9A1ADBC", @@ -20478,7 +20793,14 @@ echo ECS_AWSVPC_BLOCK_IMDS=true >> /etc/ecs/ecs.config", "LoadBalancerFullName", ], }, - "\\",{\\"label\\":\\"New\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/NetworkELB\\",\\"ProcessedBytes\\",\\"LoadBalancer\\",\\"", + "\\",{\\"label\\":\\"New\\",\\"stat\\":\\"Sum\\"}],[{\\"label\\":\\"Unhealthy routing (fail open)\\",\\"expression\\":\\"FILL(unhealthyRoutingFlowCount, 0)\\"}],[\\"AWS/NetworkELB\\",\\"UnhealthyRoutingFlowCount\\",\\"LoadBalancer\\",\\"", + Object { + "Fn::GetAtt": Array [ + "ServiceLBE9A1ADBC", + "LoadBalancerFullName", + ], + }, + "\\",{\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"unhealthyRoutingFlowCount\\"}],[\\"AWS/NetworkELB\\",\\"ProcessedBytes\\",\\"LoadBalancer\\",\\"", Object { "Fn::GetAtt": Array [ "ServiceLBE9A1ADBC", @@ -22111,7 +22433,14 @@ echo ECS_AWSVPC_BLOCK_IMDS=true >> /etc/ecs/ecs.config", "LoadBalancerFullName", ], }, - "\\",{\\"label\\":\\"New\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/NetworkELB\\",\\"ProcessedBytes\\",\\"LoadBalancer\\",\\"", + "\\",{\\"label\\":\\"New\\",\\"stat\\":\\"Sum\\"}],[{\\"label\\":\\"Unhealthy routing (fail open)\\",\\"expression\\":\\"FILL(unhealthyRoutingFlowCount, 0)\\"}],[\\"AWS/NetworkELB\\",\\"UnhealthyRoutingFlowCount\\",\\"LoadBalancer\\",\\"", + Object { + "Fn::GetAtt": Array [ + "ServiceLBE9A1ADBC", + "LoadBalancerFullName", + ], + }, + "\\",{\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"unhealthyRoutingFlowCount\\"}],[\\"AWS/NetworkELB\\",\\"ProcessedBytes\\",\\"LoadBalancer\\",\\"", Object { "Fn::GetAtt": Array [ "ServiceLBE9A1ADBC", @@ -23744,7 +24073,14 @@ echo ECS_AWSVPC_BLOCK_IMDS=true >> /etc/ecs/ecs.config", "LoadBalancerFullName", ], }, - "\\",{\\"label\\":\\"New\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/NetworkELB\\",\\"ProcessedBytes\\",\\"LoadBalancer\\",\\"", + "\\",{\\"label\\":\\"New\\",\\"stat\\":\\"Sum\\"}],[{\\"label\\":\\"Unhealthy routing (fail open)\\",\\"expression\\":\\"FILL(unhealthyRoutingFlowCount, 0)\\"}],[\\"AWS/NetworkELB\\",\\"UnhealthyRoutingFlowCount\\",\\"LoadBalancer\\",\\"", + Object { + "Fn::GetAtt": Array [ + "ServiceLBE9A1ADBC", + "LoadBalancerFullName", + ], + }, + "\\",{\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"unhealthyRoutingFlowCount\\"}],[\\"AWS/NetworkELB\\",\\"ProcessedBytes\\",\\"LoadBalancer\\",\\"", Object { "Fn::GetAtt": Array [ "ServiceLBE9A1ADBC", diff --git a/test/monitoring/aws-ecs-patterns/__snapshots__/FargateServiceMonitoring.test.ts.snap b/test/monitoring/aws-ecs-patterns/__snapshots__/FargateServiceMonitoring.test.ts.snap index 04cdc913..fe7c16b1 100644 --- a/test/monitoring/aws-ecs-patterns/__snapshots__/FargateServiceMonitoring.test.ts.snap +++ b/test/monitoring/aws-ecs-patterns/__snapshots__/FargateServiceMonitoring.test.ts.snap @@ -590,7 +590,56 @@ Object { "LoadBalancerFullName", ], }, - "\\",{\\"label\\":\\"New\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/ApplicationELB\\",\\"ProcessedBytes\\",\\"LoadBalancer\\",\\"", + "\\",{\\"label\\":\\"New\\",\\"stat\\":\\"Sum\\"}],[{\\"label\\":\\"Unhealthy routing (fail open)\\",\\"expression\\":\\"FILL(unhealthyRoutingRequestCount, 0)\\"}],[\\"AWS/ApplicationELB\\",\\"UnhealthyRoutingRequestCount\\",\\"LoadBalancer\\",\\"", + Object { + "Fn::Select": Array [ + 1, + Object { + "Fn::Split": Array [ + "/", + Object { + "Ref": "ServiceLBPublicListener46709EAA", + }, + ], + }, + ], + }, + "/", + Object { + "Fn::Select": Array [ + 2, + Object { + "Fn::Split": Array [ + "/", + Object { + "Ref": "ServiceLBPublicListener46709EAA", + }, + ], + }, + ], + }, + "/", + Object { + "Fn::Select": Array [ + 3, + Object { + "Fn::Split": Array [ + "/", + Object { + "Ref": "ServiceLBPublicListener46709EAA", + }, + ], + }, + ], + }, + "\\",\\"TargetGroup\\",\\"", + Object { + "Fn::GetAtt": Array [ + "ServiceLBPublicListenerECSGroup0CC8688C", + "TargetGroupFullName", + ], + }, + "\\",{\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"unhealthyRoutingRequestCount\\"}],[\\"AWS/ApplicationELB\\",\\"ProcessedBytes\\",\\"LoadBalancer\\",\\"", Object { "Fn::GetAtt": Array [ "ServiceLBE9A1ADBC", @@ -2486,7 +2535,56 @@ Object { "LoadBalancerFullName", ], }, - "\\",{\\"label\\":\\"New\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/ApplicationELB\\",\\"ProcessedBytes\\",\\"LoadBalancer\\",\\"", + "\\",{\\"label\\":\\"New\\",\\"stat\\":\\"Sum\\"}],[{\\"label\\":\\"Unhealthy routing (fail open)\\",\\"expression\\":\\"FILL(unhealthyRoutingRequestCount, 0)\\"}],[\\"AWS/ApplicationELB\\",\\"UnhealthyRoutingRequestCount\\",\\"LoadBalancer\\",\\"", + Object { + "Fn::Select": Array [ + 1, + Object { + "Fn::Split": Array [ + "/", + Object { + "Ref": "ServiceLBPublicListener46709EAA", + }, + ], + }, + ], + }, + "/", + Object { + "Fn::Select": Array [ + 2, + Object { + "Fn::Split": Array [ + "/", + Object { + "Ref": "ServiceLBPublicListener46709EAA", + }, + ], + }, + ], + }, + "/", + Object { + "Fn::Select": Array [ + 3, + Object { + "Fn::Split": Array [ + "/", + Object { + "Ref": "ServiceLBPublicListener46709EAA", + }, + ], + }, + ], + }, + "\\",\\"TargetGroup\\",\\"", + Object { + "Fn::GetAtt": Array [ + "ServiceLBPublicListenerECSGroup0CC8688C", + "TargetGroupFullName", + ], + }, + "\\",{\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"unhealthyRoutingRequestCount\\"}],[\\"AWS/ApplicationELB\\",\\"ProcessedBytes\\",\\"LoadBalancer\\",\\"", Object { "Fn::GetAtt": Array [ "ServiceLBE9A1ADBC", @@ -4382,7 +4480,56 @@ Object { "LoadBalancerFullName", ], }, - "\\",{\\"label\\":\\"New\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/ApplicationELB\\",\\"ProcessedBytes\\",\\"LoadBalancer\\",\\"", + "\\",{\\"label\\":\\"New\\",\\"stat\\":\\"Sum\\"}],[{\\"label\\":\\"Unhealthy routing (fail open)\\",\\"expression\\":\\"FILL(unhealthyRoutingRequestCount, 0)\\"}],[\\"AWS/ApplicationELB\\",\\"UnhealthyRoutingRequestCount\\",\\"LoadBalancer\\",\\"", + Object { + "Fn::Select": Array [ + 1, + Object { + "Fn::Split": Array [ + "/", + Object { + "Ref": "ServiceLBPublicListener46709EAA", + }, + ], + }, + ], + }, + "/", + Object { + "Fn::Select": Array [ + 2, + Object { + "Fn::Split": Array [ + "/", + Object { + "Ref": "ServiceLBPublicListener46709EAA", + }, + ], + }, + ], + }, + "/", + Object { + "Fn::Select": Array [ + 3, + Object { + "Fn::Split": Array [ + "/", + Object { + "Ref": "ServiceLBPublicListener46709EAA", + }, + ], + }, + ], + }, + "\\",\\"TargetGroup\\",\\"", + Object { + "Fn::GetAtt": Array [ + "ServiceLBPublicListenerECSGroup0CC8688C", + "TargetGroupFullName", + ], + }, + "\\",{\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"unhealthyRoutingRequestCount\\"}],[\\"AWS/ApplicationELB\\",\\"ProcessedBytes\\",\\"LoadBalancer\\",\\"", Object { "Fn::GetAtt": Array [ "ServiceLBE9A1ADBC", @@ -6183,7 +6330,56 @@ Object { "LoadBalancerFullName", ], }, - "\\",{\\"label\\":\\"New\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/ApplicationELB\\",\\"ProcessedBytes\\",\\"LoadBalancer\\",\\"", + "\\",{\\"label\\":\\"New\\",\\"stat\\":\\"Sum\\"}],[{\\"label\\":\\"Unhealthy routing (fail open)\\",\\"expression\\":\\"FILL(unhealthyRoutingRequestCount, 0)\\"}],[\\"AWS/ApplicationELB\\",\\"UnhealthyRoutingRequestCount\\",\\"LoadBalancer\\",\\"", + Object { + "Fn::Select": Array [ + 1, + Object { + "Fn::Split": Array [ + "/", + Object { + "Ref": "ServiceLBPublicListener46709EAA", + }, + ], + }, + ], + }, + "/", + Object { + "Fn::Select": Array [ + 2, + Object { + "Fn::Split": Array [ + "/", + Object { + "Ref": "ServiceLBPublicListener46709EAA", + }, + ], + }, + ], + }, + "/", + Object { + "Fn::Select": Array [ + 3, + Object { + "Fn::Split": Array [ + "/", + Object { + "Ref": "ServiceLBPublicListener46709EAA", + }, + ], + }, + ], + }, + "\\",\\"TargetGroup\\",\\"", + Object { + "Fn::GetAtt": Array [ + "ServiceLBPublicListenerECSGroup0CC8688C", + "TargetGroupFullName", + ], + }, + "\\",{\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"unhealthyRoutingRequestCount\\"}],[\\"AWS/ApplicationELB\\",\\"ProcessedBytes\\",\\"LoadBalancer\\",\\"", Object { "Fn::GetAtt": Array [ "ServiceLBE9A1ADBC", @@ -7380,7 +7576,56 @@ Object { "LoadBalancerFullName", ], }, - "\\",{\\"label\\":\\"New\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/ApplicationELB\\",\\"ProcessedBytes\\",\\"LoadBalancer\\",\\"", + "\\",{\\"label\\":\\"New\\",\\"stat\\":\\"Sum\\"}],[{\\"label\\":\\"Unhealthy routing (fail open)\\",\\"expression\\":\\"FILL(unhealthyRoutingRequestCount, 0)\\"}],[\\"AWS/ApplicationELB\\",\\"UnhealthyRoutingRequestCount\\",\\"LoadBalancer\\",\\"", + Object { + "Fn::Select": Array [ + 1, + Object { + "Fn::Split": Array [ + "/", + Object { + "Ref": "ServiceLBPublicListener46709EAA", + }, + ], + }, + ], + }, + "/", + Object { + "Fn::Select": Array [ + 2, + Object { + "Fn::Split": Array [ + "/", + Object { + "Ref": "ServiceLBPublicListener46709EAA", + }, + ], + }, + ], + }, + "/", + Object { + "Fn::Select": Array [ + 3, + Object { + "Fn::Split": Array [ + "/", + Object { + "Ref": "ServiceLBPublicListener46709EAA", + }, + ], + }, + ], + }, + "\\",\\"TargetGroup\\",\\"", + Object { + "Fn::GetAtt": Array [ + "ServiceLBPublicListenerECSGroup0CC8688C", + "TargetGroupFullName", + ], + }, + "\\",{\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"unhealthyRoutingRequestCount\\"}],[\\"AWS/ApplicationELB\\",\\"ProcessedBytes\\",\\"LoadBalancer\\",\\"", Object { "Fn::GetAtt": Array [ "ServiceLBE9A1ADBC", @@ -8577,7 +8822,56 @@ Object { "LoadBalancerFullName", ], }, - "\\",{\\"label\\":\\"New\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/ApplicationELB\\",\\"ProcessedBytes\\",\\"LoadBalancer\\",\\"", + "\\",{\\"label\\":\\"New\\",\\"stat\\":\\"Sum\\"}],[{\\"label\\":\\"Unhealthy routing (fail open)\\",\\"expression\\":\\"FILL(unhealthyRoutingRequestCount, 0)\\"}],[\\"AWS/ApplicationELB\\",\\"UnhealthyRoutingRequestCount\\",\\"LoadBalancer\\",\\"", + Object { + "Fn::Select": Array [ + 1, + Object { + "Fn::Split": Array [ + "/", + Object { + "Ref": "ServiceLBPublicListener46709EAA", + }, + ], + }, + ], + }, + "/", + Object { + "Fn::Select": Array [ + 2, + Object { + "Fn::Split": Array [ + "/", + Object { + "Ref": "ServiceLBPublicListener46709EAA", + }, + ], + }, + ], + }, + "/", + Object { + "Fn::Select": Array [ + 3, + Object { + "Fn::Split": Array [ + "/", + Object { + "Ref": "ServiceLBPublicListener46709EAA", + }, + ], + }, + ], + }, + "\\",\\"TargetGroup\\",\\"", + Object { + "Fn::GetAtt": Array [ + "ServiceLBPublicListenerECSGroup0CC8688C", + "TargetGroupFullName", + ], + }, + "\\",{\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"unhealthyRoutingRequestCount\\"}],[\\"AWS/ApplicationELB\\",\\"ProcessedBytes\\",\\"LoadBalancer\\",\\"", Object { "Fn::GetAtt": Array [ "ServiceLBE9A1ADBC", @@ -9853,7 +10147,14 @@ Object { "LoadBalancerFullName", ], }, - "\\",{\\"label\\":\\"New\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/NetworkELB\\",\\"ProcessedBytes\\",\\"LoadBalancer\\",\\"", + "\\",{\\"label\\":\\"New\\",\\"stat\\":\\"Sum\\"}],[{\\"label\\":\\"Unhealthy routing (fail open)\\",\\"expression\\":\\"FILL(unhealthyRoutingFlowCount, 0)\\"}],[\\"AWS/NetworkELB\\",\\"UnhealthyRoutingFlowCount\\",\\"LoadBalancer\\",\\"", + Object { + "Fn::GetAtt": Array [ + "ServiceLBE9A1ADBC", + "LoadBalancerFullName", + ], + }, + "\\",{\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"unhealthyRoutingFlowCount\\"}],[\\"AWS/NetworkELB\\",\\"ProcessedBytes\\",\\"LoadBalancer\\",\\"", Object { "Fn::GetAtt": Array [ "ServiceLBE9A1ADBC", @@ -11656,7 +11957,14 @@ Object { "LoadBalancerFullName", ], }, - "\\",{\\"label\\":\\"New\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/NetworkELB\\",\\"ProcessedBytes\\",\\"LoadBalancer\\",\\"", + "\\",{\\"label\\":\\"New\\",\\"stat\\":\\"Sum\\"}],[{\\"label\\":\\"Unhealthy routing (fail open)\\",\\"expression\\":\\"FILL(unhealthyRoutingFlowCount, 0)\\"}],[\\"AWS/NetworkELB\\",\\"UnhealthyRoutingFlowCount\\",\\"LoadBalancer\\",\\"", + Object { + "Fn::GetAtt": Array [ + "ServiceLBE9A1ADBC", + "LoadBalancerFullName", + ], + }, + "\\",{\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"unhealthyRoutingFlowCount\\"}],[\\"AWS/NetworkELB\\",\\"ProcessedBytes\\",\\"LoadBalancer\\",\\"", Object { "Fn::GetAtt": Array [ "ServiceLBE9A1ADBC", @@ -13459,7 +13767,14 @@ Object { "LoadBalancerFullName", ], }, - "\\",{\\"label\\":\\"New\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/NetworkELB\\",\\"ProcessedBytes\\",\\"LoadBalancer\\",\\"", + "\\",{\\"label\\":\\"New\\",\\"stat\\":\\"Sum\\"}],[{\\"label\\":\\"Unhealthy routing (fail open)\\",\\"expression\\":\\"FILL(unhealthyRoutingFlowCount, 0)\\"}],[\\"AWS/NetworkELB\\",\\"UnhealthyRoutingFlowCount\\",\\"LoadBalancer\\",\\"", + Object { + "Fn::GetAtt": Array [ + "ServiceLBE9A1ADBC", + "LoadBalancerFullName", + ], + }, + "\\",{\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"unhealthyRoutingFlowCount\\"}],[\\"AWS/NetworkELB\\",\\"ProcessedBytes\\",\\"LoadBalancer\\",\\"", Object { "Fn::GetAtt": Array [ "ServiceLBE9A1ADBC", @@ -15167,7 +15482,14 @@ Object { "LoadBalancerFullName", ], }, - "\\",{\\"label\\":\\"New\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/NetworkELB\\",\\"ProcessedBytes\\",\\"LoadBalancer\\",\\"", + "\\",{\\"label\\":\\"New\\",\\"stat\\":\\"Sum\\"}],[{\\"label\\":\\"Unhealthy routing (fail open)\\",\\"expression\\":\\"FILL(unhealthyRoutingFlowCount, 0)\\"}],[\\"AWS/NetworkELB\\",\\"UnhealthyRoutingFlowCount\\",\\"LoadBalancer\\",\\"", + Object { + "Fn::GetAtt": Array [ + "ServiceLBE9A1ADBC", + "LoadBalancerFullName", + ], + }, + "\\",{\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"unhealthyRoutingFlowCount\\"}],[\\"AWS/NetworkELB\\",\\"ProcessedBytes\\",\\"LoadBalancer\\",\\"", Object { "Fn::GetAtt": Array [ "ServiceLBE9A1ADBC", @@ -16271,7 +16593,14 @@ Object { "LoadBalancerFullName", ], }, - "\\",{\\"label\\":\\"New\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/NetworkELB\\",\\"ProcessedBytes\\",\\"LoadBalancer\\",\\"", + "\\",{\\"label\\":\\"New\\",\\"stat\\":\\"Sum\\"}],[{\\"label\\":\\"Unhealthy routing (fail open)\\",\\"expression\\":\\"FILL(unhealthyRoutingFlowCount, 0)\\"}],[\\"AWS/NetworkELB\\",\\"UnhealthyRoutingFlowCount\\",\\"LoadBalancer\\",\\"", + Object { + "Fn::GetAtt": Array [ + "ServiceLBE9A1ADBC", + "LoadBalancerFullName", + ], + }, + "\\",{\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"unhealthyRoutingFlowCount\\"}],[\\"AWS/NetworkELB\\",\\"ProcessedBytes\\",\\"LoadBalancer\\",\\"", Object { "Fn::GetAtt": Array [ "ServiceLBE9A1ADBC", @@ -17375,7 +17704,14 @@ Object { "LoadBalancerFullName", ], }, - "\\",{\\"label\\":\\"New\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/NetworkELB\\",\\"ProcessedBytes\\",\\"LoadBalancer\\",\\"", + "\\",{\\"label\\":\\"New\\",\\"stat\\":\\"Sum\\"}],[{\\"label\\":\\"Unhealthy routing (fail open)\\",\\"expression\\":\\"FILL(unhealthyRoutingFlowCount, 0)\\"}],[\\"AWS/NetworkELB\\",\\"UnhealthyRoutingFlowCount\\",\\"LoadBalancer\\",\\"", + Object { + "Fn::GetAtt": Array [ + "ServiceLBE9A1ADBC", + "LoadBalancerFullName", + ], + }, + "\\",{\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"unhealthyRoutingFlowCount\\"}],[\\"AWS/NetworkELB\\",\\"ProcessedBytes\\",\\"LoadBalancer\\",\\"", Object { "Fn::GetAtt": Array [ "ServiceLBE9A1ADBC", @@ -18603,7 +18939,14 @@ Object { "LoadBalancerFullName", ], }, - "\\",{\\"label\\":\\"New\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/NetworkELB\\",\\"ProcessedBytes\\",\\"LoadBalancer\\",\\"", + "\\",{\\"label\\":\\"New\\",\\"stat\\":\\"Sum\\"}],[{\\"label\\":\\"Unhealthy routing (fail open)\\",\\"expression\\":\\"FILL(unhealthyRoutingFlowCount, 0)\\"}],[\\"AWS/NetworkELB\\",\\"UnhealthyRoutingFlowCount\\",\\"LoadBalancer\\",\\"", + Object { + "Fn::GetAtt": Array [ + "NLB55158F82", + "LoadBalancerFullName", + ], + }, + "\\",{\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"unhealthyRoutingFlowCount\\"}],[\\"AWS/NetworkELB\\",\\"ProcessedBytes\\",\\"LoadBalancer\\",\\"", Object { "Fn::GetAtt": Array [ "NLB55158F82", @@ -20316,7 +20659,14 @@ Object { "LoadBalancerFullName", ], }, - "\\",{\\"label\\":\\"New\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/NetworkELB\\",\\"ProcessedBytes\\",\\"LoadBalancer\\",\\"", + "\\",{\\"label\\":\\"New\\",\\"stat\\":\\"Sum\\"}],[{\\"label\\":\\"Unhealthy routing (fail open)\\",\\"expression\\":\\"FILL(unhealthyRoutingFlowCount, 0)\\"}],[\\"AWS/NetworkELB\\",\\"UnhealthyRoutingFlowCount\\",\\"LoadBalancer\\",\\"", + Object { + "Fn::GetAtt": Array [ + "NLB55158F82", + "LoadBalancerFullName", + ], + }, + "\\",{\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"unhealthyRoutingFlowCount\\"}],[\\"AWS/NetworkELB\\",\\"ProcessedBytes\\",\\"LoadBalancer\\",\\"", Object { "Fn::GetAtt": Array [ "NLB55158F82", @@ -22029,7 +22379,14 @@ Object { "LoadBalancerFullName", ], }, - "\\",{\\"label\\":\\"New\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/NetworkELB\\",\\"ProcessedBytes\\",\\"LoadBalancer\\",\\"", + "\\",{\\"label\\":\\"New\\",\\"stat\\":\\"Sum\\"}],[{\\"label\\":\\"Unhealthy routing (fail open)\\",\\"expression\\":\\"FILL(unhealthyRoutingFlowCount, 0)\\"}],[\\"AWS/NetworkELB\\",\\"UnhealthyRoutingFlowCount\\",\\"LoadBalancer\\",\\"", + Object { + "Fn::GetAtt": Array [ + "NLB55158F82", + "LoadBalancerFullName", + ], + }, + "\\",{\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"unhealthyRoutingFlowCount\\"}],[\\"AWS/NetworkELB\\",\\"ProcessedBytes\\",\\"LoadBalancer\\",\\"", Object { "Fn::GetAtt": Array [ "NLB55158F82", @@ -23658,7 +24015,14 @@ Object { "LoadBalancerFullName", ], }, - "\\",{\\"label\\":\\"New\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/NetworkELB\\",\\"ProcessedBytes\\",\\"LoadBalancer\\",\\"", + "\\",{\\"label\\":\\"New\\",\\"stat\\":\\"Sum\\"}],[{\\"label\\":\\"Unhealthy routing (fail open)\\",\\"expression\\":\\"FILL(unhealthyRoutingFlowCount, 0)\\"}],[\\"AWS/NetworkELB\\",\\"UnhealthyRoutingFlowCount\\",\\"LoadBalancer\\",\\"", + Object { + "Fn::GetAtt": Array [ + "NLB55158F82", + "LoadBalancerFullName", + ], + }, + "\\",{\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"unhealthyRoutingFlowCount\\"}],[\\"AWS/NetworkELB\\",\\"ProcessedBytes\\",\\"LoadBalancer\\",\\"", Object { "Fn::GetAtt": Array [ "NLB55158F82", @@ -24722,7 +25086,14 @@ Object { "LoadBalancerFullName", ], }, - "\\",{\\"label\\":\\"New\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/NetworkELB\\",\\"ProcessedBytes\\",\\"LoadBalancer\\",\\"", + "\\",{\\"label\\":\\"New\\",\\"stat\\":\\"Sum\\"}],[{\\"label\\":\\"Unhealthy routing (fail open)\\",\\"expression\\":\\"FILL(unhealthyRoutingFlowCount, 0)\\"}],[\\"AWS/NetworkELB\\",\\"UnhealthyRoutingFlowCount\\",\\"LoadBalancer\\",\\"", + Object { + "Fn::GetAtt": Array [ + "NLB55158F82", + "LoadBalancerFullName", + ], + }, + "\\",{\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"unhealthyRoutingFlowCount\\"}],[\\"AWS/NetworkELB\\",\\"ProcessedBytes\\",\\"LoadBalancer\\",\\"", Object { "Fn::GetAtt": Array [ "NLB55158F82", @@ -25786,7 +26157,14 @@ Object { "LoadBalancerFullName", ], }, - "\\",{\\"label\\":\\"New\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/NetworkELB\\",\\"ProcessedBytes\\",\\"LoadBalancer\\",\\"", + "\\",{\\"label\\":\\"New\\",\\"stat\\":\\"Sum\\"}],[{\\"label\\":\\"Unhealthy routing (fail open)\\",\\"expression\\":\\"FILL(unhealthyRoutingFlowCount, 0)\\"}],[\\"AWS/NetworkELB\\",\\"UnhealthyRoutingFlowCount\\",\\"LoadBalancer\\",\\"", + Object { + "Fn::GetAtt": Array [ + "NLB55158F82", + "LoadBalancerFullName", + ], + }, + "\\",{\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"unhealthyRoutingFlowCount\\"}],[\\"AWS/NetworkELB\\",\\"ProcessedBytes\\",\\"LoadBalancer\\",\\"", Object { "Fn::GetAtt": Array [ "NLB55158F82", @@ -32234,7 +32612,7 @@ Object { Object { "Ref": "AWS::Region", }, - "\\",\\"metrics\\":[[\\"AWS/NetworkELB\\",\\"ActiveFlowCount\\",\\"LoadBalancer\\",\\"net/LoadBalancer/123\\",{\\"label\\":\\"Active\\"}],[\\"AWS/NetworkELB\\",\\"NewFlowCount\\",\\"LoadBalancer\\",\\"net/LoadBalancer/123\\",{\\"label\\":\\"New\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/NetworkELB\\",\\"ProcessedBytes\\",\\"LoadBalancer\\",\\"net/LoadBalancer/123\\",{\\"label\\":\\"Processed Bytes (min)\\",\\"stat\\":\\"Minimum\\",\\"yAxis\\":\\"right\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Count\\",\\"showUnits\\":false},\\"right\\":{\\"min\\":0,\\"label\\":\\"bytes\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":5,\\"x\\":18,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Task Health\\",\\"region\\":\\"", + "\\",\\"metrics\\":[[\\"AWS/NetworkELB\\",\\"ActiveFlowCount\\",\\"LoadBalancer\\",\\"net/LoadBalancer/123\\",{\\"label\\":\\"Active\\"}],[\\"AWS/NetworkELB\\",\\"NewFlowCount\\",\\"LoadBalancer\\",\\"net/LoadBalancer/123\\",{\\"label\\":\\"New\\",\\"stat\\":\\"Sum\\"}],[{\\"label\\":\\"Unhealthy routing (fail open)\\",\\"expression\\":\\"FILL(unhealthyRoutingFlowCount, 0)\\"}],[\\"AWS/NetworkELB\\",\\"UnhealthyRoutingFlowCount\\",\\"LoadBalancer\\",\\"net/LoadBalancer/123\\",{\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"unhealthyRoutingFlowCount\\"}],[\\"AWS/NetworkELB\\",\\"ProcessedBytes\\",\\"LoadBalancer\\",\\"net/LoadBalancer/123\\",{\\"label\\":\\"Processed Bytes (min)\\",\\"stat\\":\\"Minimum\\",\\"yAxis\\":\\"right\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Count\\",\\"showUnits\\":false},\\"right\\":{\\"min\\":0,\\"label\\":\\"bytes\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":5,\\"x\\":18,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Task Health\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, diff --git a/test/monitoring/aws-loadbalancing/__snapshots__/ApplicationLoadBalancerMonitoring.test.ts.snap b/test/monitoring/aws-loadbalancing/__snapshots__/ApplicationLoadBalancerMonitoring.test.ts.snap index 4e33c42b..13312e66 100644 --- a/test/monitoring/aws-loadbalancing/__snapshots__/ApplicationLoadBalancerMonitoring.test.ts.snap +++ b/test/monitoring/aws-loadbalancing/__snapshots__/ApplicationLoadBalancerMonitoring.test.ts.snap @@ -656,7 +656,56 @@ Object { "LoadBalancerFullName", ], }, - "\\",{\\"label\\":\\"New\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/ApplicationELB\\",\\"ProcessedBytes\\",\\"LoadBalancer\\",\\"", + "\\",{\\"label\\":\\"New\\",\\"stat\\":\\"Sum\\"}],[{\\"label\\":\\"Unhealthy routing (fail open)\\",\\"expression\\":\\"FILL(unhealthyRoutingRequestCount, 0)\\"}],[\\"AWS/ApplicationELB\\",\\"UnhealthyRoutingRequestCount\\",\\"LoadBalancer\\",\\"", + Object { + "Fn::Select": Array [ + 1, + Object { + "Fn::Split": Array [ + "/", + Object { + "Ref": "ALBListener3B99FF85", + }, + ], + }, + ], + }, + "/", + Object { + "Fn::Select": Array [ + 2, + Object { + "Fn::Split": Array [ + "/", + Object { + "Ref": "ALBListener3B99FF85", + }, + ], + }, + ], + }, + "/", + Object { + "Fn::Select": Array [ + 3, + Object { + "Fn::Split": Array [ + "/", + Object { + "Ref": "ALBListener3B99FF85", + }, + ], + }, + ], + }, + "\\",\\"TargetGroup\\",\\"", + Object { + "Fn::GetAtt": Array [ + "ALBListenerTargetGroupD5D64FBA", + "TargetGroupFullName", + ], + }, + "\\",{\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"unhealthyRoutingRequestCount\\"}],[\\"AWS/ApplicationELB\\",\\"ProcessedBytes\\",\\"LoadBalancer\\",\\"", Object { "Fn::GetAtt": Array [ "ALBAEE750D2", @@ -2288,7 +2337,7 @@ Object { Object { "Ref": "AWS::Region", }, - "\\",\\"metrics\\":[[\\"AWS/ApplicationELB\\",\\"ActiveConnectionCount\\",\\"LoadBalancer\\",\\"app/my-load-balancer/50dc6c495c0c9188\\",{\\"label\\":\\"Active\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/ApplicationELB\\",\\"NewConnectionCount\\",\\"LoadBalancer\\",\\"app/my-load-balancer/50dc6c495c0c9188\\",{\\"label\\":\\"New\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/ApplicationELB\\",\\"ProcessedBytes\\",\\"LoadBalancer\\",\\"app/my-load-balancer/50dc6c495c0c9188\\",{\\"label\\":\\"Processed Bytes (min)\\",\\"stat\\":\\"Minimum\\",\\"yAxis\\":\\"right\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Count\\",\\"showUnits\\":false},\\"right\\":{\\"min\\":0,\\"label\\":\\"bytes\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":5,\\"x\\":18,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Task Health\\",\\"region\\":\\"", + "\\",\\"metrics\\":[[\\"AWS/ApplicationELB\\",\\"ActiveConnectionCount\\",\\"LoadBalancer\\",\\"app/my-load-balancer/50dc6c495c0c9188\\",{\\"label\\":\\"Active\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/ApplicationELB\\",\\"NewConnectionCount\\",\\"LoadBalancer\\",\\"app/my-load-balancer/50dc6c495c0c9188\\",{\\"label\\":\\"New\\",\\"stat\\":\\"Sum\\"}],[{\\"label\\":\\"Unhealthy routing (fail open)\\",\\"expression\\":\\"FILL(unhealthyRoutingRequestCount, 0)\\"}],[\\"AWS/ApplicationELB\\",\\"UnhealthyRoutingRequestCount\\",\\"LoadBalancer\\",\\"app/my-load-balancer/50dc6c495c0c9188\\",\\"TargetGroup\\",\\"targetgroup/my-target-group/50dc6c495c0c9188\\",{\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"unhealthyRoutingRequestCount\\"}],[\\"AWS/ApplicationELB\\",\\"ProcessedBytes\\",\\"LoadBalancer\\",\\"app/my-load-balancer/50dc6c495c0c9188\\",{\\"label\\":\\"Processed Bytes (min)\\",\\"stat\\":\\"Minimum\\",\\"yAxis\\":\\"right\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Count\\",\\"showUnits\\":false},\\"right\\":{\\"min\\":0,\\"label\\":\\"bytes\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":5,\\"x\\":18,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Task Health\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, @@ -3501,7 +3550,56 @@ Object { "LoadBalancerFullName", ], }, - "\\",{\\"label\\":\\"New\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/ApplicationELB\\",\\"ProcessedBytes\\",\\"LoadBalancer\\",\\"", + "\\",{\\"label\\":\\"New\\",\\"stat\\":\\"Sum\\"}],[{\\"label\\":\\"Unhealthy routing (fail open)\\",\\"expression\\":\\"FILL(unhealthyRoutingRequestCount, 0)\\"}],[\\"AWS/ApplicationELB\\",\\"UnhealthyRoutingRequestCount\\",\\"LoadBalancer\\",\\"", + Object { + "Fn::Select": Array [ + 1, + Object { + "Fn::Split": Array [ + "/", + Object { + "Ref": "ALBListener3B99FF85", + }, + ], + }, + ], + }, + "/", + Object { + "Fn::Select": Array [ + 2, + Object { + "Fn::Split": Array [ + "/", + Object { + "Ref": "ALBListener3B99FF85", + }, + ], + }, + ], + }, + "/", + Object { + "Fn::Select": Array [ + 3, + Object { + "Fn::Split": Array [ + "/", + Object { + "Ref": "ALBListener3B99FF85", + }, + ], + }, + ], + }, + "\\",\\"TargetGroup\\",\\"", + Object { + "Fn::GetAtt": Array [ + "ALBListenerTargetGroupD5D64FBA", + "TargetGroupFullName", + ], + }, + "\\",{\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"unhealthyRoutingRequestCount\\"}],[\\"AWS/ApplicationELB\\",\\"ProcessedBytes\\",\\"LoadBalancer\\",\\"", Object { "Fn::GetAtt": Array [ "ALBAEE750D2", @@ -4525,7 +4623,7 @@ Object { Object { "Ref": "AWS::Region", }, - "\\",\\"metrics\\":[[\\"AWS/ApplicationELB\\",\\"ActiveConnectionCount\\",\\"LoadBalancer\\",\\"app/my-load-balancer/50dc6c495c0c9188\\",{\\"label\\":\\"Active\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/ApplicationELB\\",\\"NewConnectionCount\\",\\"LoadBalancer\\",\\"app/my-load-balancer/50dc6c495c0c9188\\",{\\"label\\":\\"New\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/ApplicationELB\\",\\"ProcessedBytes\\",\\"LoadBalancer\\",\\"app/my-load-balancer/50dc6c495c0c9188\\",{\\"label\\":\\"Processed Bytes (min)\\",\\"stat\\":\\"Minimum\\",\\"yAxis\\":\\"right\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Count\\",\\"showUnits\\":false},\\"right\\":{\\"min\\":0,\\"label\\":\\"bytes\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":5,\\"x\\":18,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Task Health\\",\\"region\\":\\"", + "\\",\\"metrics\\":[[\\"AWS/ApplicationELB\\",\\"ActiveConnectionCount\\",\\"LoadBalancer\\",\\"app/my-load-balancer/50dc6c495c0c9188\\",{\\"label\\":\\"Active\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/ApplicationELB\\",\\"NewConnectionCount\\",\\"LoadBalancer\\",\\"app/my-load-balancer/50dc6c495c0c9188\\",{\\"label\\":\\"New\\",\\"stat\\":\\"Sum\\"}],[{\\"label\\":\\"Unhealthy routing (fail open)\\",\\"expression\\":\\"FILL(unhealthyRoutingRequestCount, 0)\\"}],[\\"AWS/ApplicationELB\\",\\"UnhealthyRoutingRequestCount\\",\\"LoadBalancer\\",\\"app/my-load-balancer/50dc6c495c0c9188\\",\\"TargetGroup\\",\\"targetgroup/my-target-group/50dc6c495c0c9188\\",{\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"unhealthyRoutingRequestCount\\"}],[\\"AWS/ApplicationELB\\",\\"ProcessedBytes\\",\\"LoadBalancer\\",\\"app/my-load-balancer/50dc6c495c0c9188\\",{\\"label\\":\\"Processed Bytes (min)\\",\\"stat\\":\\"Minimum\\",\\"yAxis\\":\\"right\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Count\\",\\"showUnits\\":false},\\"right\\":{\\"min\\":0,\\"label\\":\\"bytes\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":5,\\"x\\":18,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Task Health\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, @@ -6108,7 +6206,56 @@ echo ECS_AWSVPC_BLOCK_IMDS=true >> /etc/ecs/ecs.config", "LoadBalancerFullName", ], }, - "\\",{\\"label\\":\\"New\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/ApplicationELB\\",\\"ProcessedBytes\\",\\"LoadBalancer\\",\\"", + "\\",{\\"label\\":\\"New\\",\\"stat\\":\\"Sum\\"}],[{\\"label\\":\\"Unhealthy routing (fail open)\\",\\"expression\\":\\"FILL(unhealthyRoutingRequestCount, 0)\\"}],[\\"AWS/ApplicationELB\\",\\"UnhealthyRoutingRequestCount\\",\\"LoadBalancer\\",\\"", + Object { + "Fn::Select": Array [ + 1, + Object { + "Fn::Split": Array [ + "/", + Object { + "Ref": "ALBListener3B99FF85", + }, + ], + }, + ], + }, + "/", + Object { + "Fn::Select": Array [ + 2, + Object { + "Fn::Split": Array [ + "/", + Object { + "Ref": "ALBListener3B99FF85", + }, + ], + }, + ], + }, + "/", + Object { + "Fn::Select": Array [ + 3, + Object { + "Fn::Split": Array [ + "/", + Object { + "Ref": "ALBListener3B99FF85", + }, + ], + }, + ], + }, + "\\",\\"TargetGroup\\",\\"", + Object { + "Fn::GetAtt": Array [ + "ALBListenerTargetGroupD5D64FBA", + "TargetGroupFullName", + ], + }, + "\\",{\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"unhealthyRoutingRequestCount\\"}],[\\"AWS/ApplicationELB\\",\\"ProcessedBytes\\",\\"LoadBalancer\\",\\"", Object { "Fn::GetAtt": Array [ "ALBAEE750D2", @@ -8257,7 +8404,7 @@ echo ECS_AWSVPC_BLOCK_IMDS=true >> /etc/ecs/ecs.config", Object { "Ref": "AWS::Region", }, - "\\",\\"metrics\\":[[\\"AWS/ApplicationELB\\",\\"ActiveConnectionCount\\",\\"LoadBalancer\\",\\"app/my-load-balancer/50dc6c495c0c9188\\",{\\"label\\":\\"Active\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/ApplicationELB\\",\\"NewConnectionCount\\",\\"LoadBalancer\\",\\"app/my-load-balancer/50dc6c495c0c9188\\",{\\"label\\":\\"New\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/ApplicationELB\\",\\"ProcessedBytes\\",\\"LoadBalancer\\",\\"app/my-load-balancer/50dc6c495c0c9188\\",{\\"label\\":\\"Processed Bytes (min)\\",\\"stat\\":\\"Minimum\\",\\"yAxis\\":\\"right\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Count\\",\\"showUnits\\":false},\\"right\\":{\\"min\\":0,\\"label\\":\\"bytes\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":5,\\"x\\":18,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Task Health\\",\\"region\\":\\"", + "\\",\\"metrics\\":[[\\"AWS/ApplicationELB\\",\\"ActiveConnectionCount\\",\\"LoadBalancer\\",\\"app/my-load-balancer/50dc6c495c0c9188\\",{\\"label\\":\\"Active\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/ApplicationELB\\",\\"NewConnectionCount\\",\\"LoadBalancer\\",\\"app/my-load-balancer/50dc6c495c0c9188\\",{\\"label\\":\\"New\\",\\"stat\\":\\"Sum\\"}],[{\\"label\\":\\"Unhealthy routing (fail open)\\",\\"expression\\":\\"FILL(unhealthyRoutingRequestCount, 0)\\"}],[\\"AWS/ApplicationELB\\",\\"UnhealthyRoutingRequestCount\\",\\"LoadBalancer\\",\\"app/my-load-balancer/50dc6c495c0c9188\\",\\"TargetGroup\\",\\"targetgroup/my-target-group/50dc6c495c0c9188\\",{\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"unhealthyRoutingRequestCount\\"}],[\\"AWS/ApplicationELB\\",\\"ProcessedBytes\\",\\"LoadBalancer\\",\\"app/my-load-balancer/50dc6c495c0c9188\\",{\\"label\\":\\"Processed Bytes (min)\\",\\"stat\\":\\"Minimum\\",\\"yAxis\\":\\"right\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Count\\",\\"showUnits\\":false},\\"right\\":{\\"min\\":0,\\"label\\":\\"bytes\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":5,\\"x\\":18,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Task Health\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, @@ -10020,7 +10167,56 @@ echo ECS_AWSVPC_BLOCK_IMDS=true >> /etc/ecs/ecs.config", "LoadBalancerFullName", ], }, - "\\",{\\"label\\":\\"New\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/ApplicationELB\\",\\"ProcessedBytes\\",\\"LoadBalancer\\",\\"", + "\\",{\\"label\\":\\"New\\",\\"stat\\":\\"Sum\\"}],[{\\"label\\":\\"Unhealthy routing (fail open)\\",\\"expression\\":\\"FILL(unhealthyRoutingRequestCount, 0)\\"}],[\\"AWS/ApplicationELB\\",\\"UnhealthyRoutingRequestCount\\",\\"LoadBalancer\\",\\"", + Object { + "Fn::Select": Array [ + 1, + Object { + "Fn::Split": Array [ + "/", + Object { + "Ref": "ALBListener3B99FF85", + }, + ], + }, + ], + }, + "/", + Object { + "Fn::Select": Array [ + 2, + Object { + "Fn::Split": Array [ + "/", + Object { + "Ref": "ALBListener3B99FF85", + }, + ], + }, + ], + }, + "/", + Object { + "Fn::Select": Array [ + 3, + Object { + "Fn::Split": Array [ + "/", + Object { + "Ref": "ALBListener3B99FF85", + }, + ], + }, + ], + }, + "\\",\\"TargetGroup\\",\\"", + Object { + "Fn::GetAtt": Array [ + "ALBListenerTargetGroupD5D64FBA", + "TargetGroupFullName", + ], + }, + "\\",{\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"unhealthyRoutingRequestCount\\"}],[\\"AWS/ApplicationELB\\",\\"ProcessedBytes\\",\\"LoadBalancer\\",\\"", Object { "Fn::GetAtt": Array [ "ALBAEE750D2", @@ -11549,7 +11745,7 @@ echo ECS_AWSVPC_BLOCK_IMDS=true >> /etc/ecs/ecs.config", Object { "Ref": "AWS::Region", }, - "\\",\\"metrics\\":[[\\"AWS/ApplicationELB\\",\\"ActiveConnectionCount\\",\\"LoadBalancer\\",\\"app/my-load-balancer/50dc6c495c0c9188\\",{\\"label\\":\\"Active\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/ApplicationELB\\",\\"NewConnectionCount\\",\\"LoadBalancer\\",\\"app/my-load-balancer/50dc6c495c0c9188\\",{\\"label\\":\\"New\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/ApplicationELB\\",\\"ProcessedBytes\\",\\"LoadBalancer\\",\\"app/my-load-balancer/50dc6c495c0c9188\\",{\\"label\\":\\"Processed Bytes (min)\\",\\"stat\\":\\"Minimum\\",\\"yAxis\\":\\"right\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Count\\",\\"showUnits\\":false},\\"right\\":{\\"min\\":0,\\"label\\":\\"bytes\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":5,\\"x\\":18,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Task Health\\",\\"region\\":\\"", + "\\",\\"metrics\\":[[\\"AWS/ApplicationELB\\",\\"ActiveConnectionCount\\",\\"LoadBalancer\\",\\"app/my-load-balancer/50dc6c495c0c9188\\",{\\"label\\":\\"Active\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/ApplicationELB\\",\\"NewConnectionCount\\",\\"LoadBalancer\\",\\"app/my-load-balancer/50dc6c495c0c9188\\",{\\"label\\":\\"New\\",\\"stat\\":\\"Sum\\"}],[{\\"label\\":\\"Unhealthy routing (fail open)\\",\\"expression\\":\\"FILL(unhealthyRoutingRequestCount, 0)\\"}],[\\"AWS/ApplicationELB\\",\\"UnhealthyRoutingRequestCount\\",\\"LoadBalancer\\",\\"app/my-load-balancer/50dc6c495c0c9188\\",\\"TargetGroup\\",\\"targetgroup/my-target-group/50dc6c495c0c9188\\",{\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"unhealthyRoutingRequestCount\\"}],[\\"AWS/ApplicationELB\\",\\"ProcessedBytes\\",\\"LoadBalancer\\",\\"app/my-load-balancer/50dc6c495c0c9188\\",{\\"label\\":\\"Processed Bytes (min)\\",\\"stat\\":\\"Minimum\\",\\"yAxis\\":\\"right\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Count\\",\\"showUnits\\":false},\\"right\\":{\\"min\\":0,\\"label\\":\\"bytes\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":6,\\"height\\":5,\\"x\\":18,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Task Health\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, diff --git a/test/monitoring/aws-loadbalancing/__snapshots__/NetworkLoadBalancerMonitoring.test.ts.snap b/test/monitoring/aws-loadbalancing/__snapshots__/NetworkLoadBalancerMonitoring.test.ts.snap index a4d4b282..2706c846 100644 --- a/test/monitoring/aws-loadbalancing/__snapshots__/NetworkLoadBalancerMonitoring.test.ts.snap +++ b/test/monitoring/aws-loadbalancing/__snapshots__/NetworkLoadBalancerMonitoring.test.ts.snap @@ -140,7 +140,14 @@ Object { "LoadBalancerFullName", ], }, - "\\",{\\"label\\":\\"New\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/NetworkELB\\",\\"ProcessedBytes\\",\\"LoadBalancer\\",\\"", + "\\",{\\"label\\":\\"New\\",\\"stat\\":\\"Sum\\"}],[{\\"label\\":\\"Unhealthy routing (fail open)\\",\\"expression\\":\\"FILL(unhealthyRoutingFlowCount, 0)\\"}],[\\"AWS/NetworkELB\\",\\"UnhealthyRoutingFlowCount\\",\\"LoadBalancer\\",\\"", + Object { + "Fn::GetAtt": Array [ + "NLB55158F82", + "LoadBalancerFullName", + ], + }, + "\\",{\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"unhealthyRoutingFlowCount\\"}],[\\"AWS/NetworkELB\\",\\"ProcessedBytes\\",\\"LoadBalancer\\",\\"", Object { "Fn::GetAtt": Array [ "NLB55158F82", @@ -669,7 +676,14 @@ Object { "LoadBalancerFullName", ], }, - "\\",{\\"label\\":\\"New\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/NetworkELB\\",\\"ProcessedBytes\\",\\"LoadBalancer\\",\\"", + "\\",{\\"label\\":\\"New\\",\\"stat\\":\\"Sum\\"}],[{\\"label\\":\\"Unhealthy routing (fail open)\\",\\"expression\\":\\"FILL(unhealthyRoutingFlowCount, 0)\\"}],[\\"AWS/NetworkELB\\",\\"UnhealthyRoutingFlowCount\\",\\"LoadBalancer\\",\\"", + Object { + "Fn::GetAtt": Array [ + "NLB55158F82", + "LoadBalancerFullName", + ], + }, + "\\",{\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"unhealthyRoutingFlowCount\\"}],[\\"AWS/NetworkELB\\",\\"ProcessedBytes\\",\\"LoadBalancer\\",\\"", Object { "Fn::GetAtt": Array [ "NLB55158F82", @@ -1284,7 +1298,7 @@ Object { Object { "Ref": "AWS::Region", }, - "\\",\\"metrics\\":[[\\"AWS/NetworkELB\\",\\"ActiveFlowCount\\",\\"LoadBalancer\\",\\"network/my-load-balancer/50dc6c495c0c9188\\",{\\"label\\":\\"Active\\"}],[\\"AWS/NetworkELB\\",\\"NewFlowCount\\",\\"LoadBalancer\\",\\"network/my-load-balancer/50dc6c495c0c9188\\",{\\"label\\":\\"New\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/NetworkELB\\",\\"ProcessedBytes\\",\\"LoadBalancer\\",\\"network/my-load-balancer/50dc6c495c0c9188\\",{\\"label\\":\\"Processed Bytes (min)\\",\\"stat\\":\\"Minimum\\",\\"yAxis\\":\\"right\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Count\\",\\"showUnits\\":false},\\"right\\":{\\"min\\":0,\\"label\\":\\"bytes\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":12,\\"height\\":5,\\"x\\":12,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Task Health\\",\\"region\\":\\"", + "\\",\\"metrics\\":[[\\"AWS/NetworkELB\\",\\"ActiveFlowCount\\",\\"LoadBalancer\\",\\"network/my-load-balancer/50dc6c495c0c9188\\",{\\"label\\":\\"Active\\"}],[\\"AWS/NetworkELB\\",\\"NewFlowCount\\",\\"LoadBalancer\\",\\"network/my-load-balancer/50dc6c495c0c9188\\",{\\"label\\":\\"New\\",\\"stat\\":\\"Sum\\"}],[{\\"label\\":\\"Unhealthy routing (fail open)\\",\\"expression\\":\\"FILL(unhealthyRoutingFlowCount, 0)\\"}],[\\"AWS/NetworkELB\\",\\"UnhealthyRoutingFlowCount\\",\\"LoadBalancer\\",\\"network/my-load-balancer/50dc6c495c0c9188\\",{\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"unhealthyRoutingFlowCount\\"}],[\\"AWS/NetworkELB\\",\\"ProcessedBytes\\",\\"LoadBalancer\\",\\"network/my-load-balancer/50dc6c495c0c9188\\",{\\"label\\":\\"Processed Bytes (min)\\",\\"stat\\":\\"Minimum\\",\\"yAxis\\":\\"right\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Count\\",\\"showUnits\\":false},\\"right\\":{\\"min\\":0,\\"label\\":\\"bytes\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":12,\\"height\\":5,\\"x\\":12,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Task Health\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, @@ -1481,7 +1495,7 @@ Object { Object { "Ref": "AWS::Region", }, - "\\",\\"metrics\\":[[\\"AWS/NetworkELB\\",\\"ActiveFlowCount\\",\\"LoadBalancer\\",\\"network/my-load-balancer/50dc6c495c0c9188\\",{\\"label\\":\\"Active\\"}],[\\"AWS/NetworkELB\\",\\"NewFlowCount\\",\\"LoadBalancer\\",\\"network/my-load-balancer/50dc6c495c0c9188\\",{\\"label\\":\\"New\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/NetworkELB\\",\\"ProcessedBytes\\",\\"LoadBalancer\\",\\"network/my-load-balancer/50dc6c495c0c9188\\",{\\"label\\":\\"Processed Bytes (min)\\",\\"stat\\":\\"Minimum\\",\\"yAxis\\":\\"right\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Count\\",\\"showUnits\\":false},\\"right\\":{\\"min\\":0,\\"label\\":\\"bytes\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":12,\\"height\\":6,\\"x\\":12,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Task Health\\",\\"region\\":\\"", + "\\",\\"metrics\\":[[\\"AWS/NetworkELB\\",\\"ActiveFlowCount\\",\\"LoadBalancer\\",\\"network/my-load-balancer/50dc6c495c0c9188\\",{\\"label\\":\\"Active\\"}],[\\"AWS/NetworkELB\\",\\"NewFlowCount\\",\\"LoadBalancer\\",\\"network/my-load-balancer/50dc6c495c0c9188\\",{\\"label\\":\\"New\\",\\"stat\\":\\"Sum\\"}],[{\\"label\\":\\"Unhealthy routing (fail open)\\",\\"expression\\":\\"FILL(unhealthyRoutingFlowCount, 0)\\"}],[\\"AWS/NetworkELB\\",\\"UnhealthyRoutingFlowCount\\",\\"LoadBalancer\\",\\"network/my-load-balancer/50dc6c495c0c9188\\",{\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"unhealthyRoutingFlowCount\\"}],[\\"AWS/NetworkELB\\",\\"ProcessedBytes\\",\\"LoadBalancer\\",\\"network/my-load-balancer/50dc6c495c0c9188\\",{\\"label\\":\\"Processed Bytes (min)\\",\\"stat\\":\\"Minimum\\",\\"yAxis\\":\\"right\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Count\\",\\"showUnits\\":false},\\"right\\":{\\"min\\":0,\\"label\\":\\"bytes\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":12,\\"height\\":6,\\"x\\":12,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Task Health\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, @@ -1612,7 +1626,14 @@ Object { "LoadBalancerFullName", ], }, - "\\",{\\"label\\":\\"New\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/NetworkELB\\",\\"ProcessedBytes\\",\\"LoadBalancer\\",\\"", + "\\",{\\"label\\":\\"New\\",\\"stat\\":\\"Sum\\"}],[{\\"label\\":\\"Unhealthy routing (fail open)\\",\\"expression\\":\\"FILL(unhealthyRoutingFlowCount, 0)\\"}],[\\"AWS/NetworkELB\\",\\"UnhealthyRoutingFlowCount\\",\\"LoadBalancer\\",\\"", + Object { + "Fn::GetAtt": Array [ + "NLB55158F82", + "LoadBalancerFullName", + ], + }, + "\\",{\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"unhealthyRoutingFlowCount\\"}],[\\"AWS/NetworkELB\\",\\"ProcessedBytes\\",\\"LoadBalancer\\",\\"", Object { "Fn::GetAtt": Array [ "NLB55158F82", @@ -1752,7 +1773,14 @@ Object { "LoadBalancerFullName", ], }, - "\\",{\\"label\\":\\"New\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/NetworkELB\\",\\"ProcessedBytes\\",\\"LoadBalancer\\",\\"", + "\\",{\\"label\\":\\"New\\",\\"stat\\":\\"Sum\\"}],[{\\"label\\":\\"Unhealthy routing (fail open)\\",\\"expression\\":\\"FILL(unhealthyRoutingFlowCount, 0)\\"}],[\\"AWS/NetworkELB\\",\\"UnhealthyRoutingFlowCount\\",\\"LoadBalancer\\",\\"", + Object { + "Fn::GetAtt": Array [ + "NLB55158F82", + "LoadBalancerFullName", + ], + }, + "\\",{\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"unhealthyRoutingFlowCount\\"}],[\\"AWS/NetworkELB\\",\\"ProcessedBytes\\",\\"LoadBalancer\\",\\"", Object { "Fn::GetAtt": Array [ "NLB55158F82", @@ -2316,7 +2344,7 @@ Object { Object { "Ref": "AWS::Region", }, - "\\",\\"metrics\\":[[\\"AWS/NetworkELB\\",\\"ActiveFlowCount\\",\\"LoadBalancer\\",\\"network/my-load-balancer/50dc6c495c0c9188\\",{\\"label\\":\\"Active\\"}],[\\"AWS/NetworkELB\\",\\"NewFlowCount\\",\\"LoadBalancer\\",\\"network/my-load-balancer/50dc6c495c0c9188\\",{\\"label\\":\\"New\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/NetworkELB\\",\\"ProcessedBytes\\",\\"LoadBalancer\\",\\"network/my-load-balancer/50dc6c495c0c9188\\",{\\"label\\":\\"Processed Bytes (min)\\",\\"stat\\":\\"Minimum\\",\\"yAxis\\":\\"right\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Count\\",\\"showUnits\\":false},\\"right\\":{\\"min\\":0,\\"label\\":\\"bytes\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":12,\\"height\\":5,\\"x\\":12,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Task Health\\",\\"region\\":\\"", + "\\",\\"metrics\\":[[\\"AWS/NetworkELB\\",\\"ActiveFlowCount\\",\\"LoadBalancer\\",\\"network/my-load-balancer/50dc6c495c0c9188\\",{\\"label\\":\\"Active\\"}],[\\"AWS/NetworkELB\\",\\"NewFlowCount\\",\\"LoadBalancer\\",\\"network/my-load-balancer/50dc6c495c0c9188\\",{\\"label\\":\\"New\\",\\"stat\\":\\"Sum\\"}],[{\\"label\\":\\"Unhealthy routing (fail open)\\",\\"expression\\":\\"FILL(unhealthyRoutingFlowCount, 0)\\"}],[\\"AWS/NetworkELB\\",\\"UnhealthyRoutingFlowCount\\",\\"LoadBalancer\\",\\"network/my-load-balancer/50dc6c495c0c9188\\",{\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"unhealthyRoutingFlowCount\\"}],[\\"AWS/NetworkELB\\",\\"ProcessedBytes\\",\\"LoadBalancer\\",\\"network/my-load-balancer/50dc6c495c0c9188\\",{\\"label\\":\\"Processed Bytes (min)\\",\\"stat\\":\\"Minimum\\",\\"yAxis\\":\\"right\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Count\\",\\"showUnits\\":false},\\"right\\":{\\"min\\":0,\\"label\\":\\"bytes\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":12,\\"height\\":5,\\"x\\":12,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Task Health\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", }, @@ -2337,7 +2365,7 @@ Object { Object { "Ref": "AWS::Region", }, - "\\",\\"metrics\\":[[\\"AWS/NetworkELB\\",\\"ActiveFlowCount\\",\\"LoadBalancer\\",\\"network/my-load-balancer/50dc6c495c0c9188\\",{\\"label\\":\\"Active\\"}],[\\"AWS/NetworkELB\\",\\"NewFlowCount\\",\\"LoadBalancer\\",\\"network/my-load-balancer/50dc6c495c0c9188\\",{\\"label\\":\\"New\\",\\"stat\\":\\"Sum\\"}],[\\"AWS/NetworkELB\\",\\"ProcessedBytes\\",\\"LoadBalancer\\",\\"network/my-load-balancer/50dc6c495c0c9188\\",{\\"label\\":\\"Processed Bytes (min)\\",\\"stat\\":\\"Minimum\\",\\"yAxis\\":\\"right\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Count\\",\\"showUnits\\":false},\\"right\\":{\\"min\\":0,\\"label\\":\\"bytes\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":12,\\"height\\":6,\\"x\\":12,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Task Health\\",\\"region\\":\\"", + "\\",\\"metrics\\":[[\\"AWS/NetworkELB\\",\\"ActiveFlowCount\\",\\"LoadBalancer\\",\\"network/my-load-balancer/50dc6c495c0c9188\\",{\\"label\\":\\"Active\\"}],[\\"AWS/NetworkELB\\",\\"NewFlowCount\\",\\"LoadBalancer\\",\\"network/my-load-balancer/50dc6c495c0c9188\\",{\\"label\\":\\"New\\",\\"stat\\":\\"Sum\\"}],[{\\"label\\":\\"Unhealthy routing (fail open)\\",\\"expression\\":\\"FILL(unhealthyRoutingFlowCount, 0)\\"}],[\\"AWS/NetworkELB\\",\\"UnhealthyRoutingFlowCount\\",\\"LoadBalancer\\",\\"network/my-load-balancer/50dc6c495c0c9188\\",{\\"stat\\":\\"Sum\\",\\"visible\\":false,\\"id\\":\\"unhealthyRoutingFlowCount\\"}],[\\"AWS/NetworkELB\\",\\"ProcessedBytes\\",\\"LoadBalancer\\",\\"network/my-load-balancer/50dc6c495c0c9188\\",{\\"label\\":\\"Processed Bytes (min)\\",\\"stat\\":\\"Minimum\\",\\"yAxis\\":\\"right\\"}]],\\"yAxis\\":{\\"left\\":{\\"min\\":0,\\"label\\":\\"Count\\",\\"showUnits\\":false},\\"right\\":{\\"min\\":0,\\"label\\":\\"bytes\\",\\"showUnits\\":false}}}},{\\"type\\":\\"metric\\",\\"width\\":12,\\"height\\":6,\\"x\\":12,\\"y\\":1,\\"properties\\":{\\"view\\":\\"timeSeries\\",\\"title\\":\\"Task Health\\",\\"region\\":\\"", Object { "Ref": "AWS::Region", },