@cdklabs/multi-az-observability 0.0.0-alpha.0 → 0.0.1-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.jsii +85 -84
- package/API.md +54 -64
- package/lib/alarmsandrules/AvailabilityAndLatencyAlarmsAndRules.d.ts +15 -0
- package/lib/alarmsandrules/AvailabilityAndLatencyAlarmsAndRules.js +127 -1
- package/lib/alarmsandrules/BaseOperationZonalAlarmsAndRules.d.ts +2 -2
- package/lib/alarmsandrules/BaseOperationZonalAlarmsAndRules.js +1 -18
- package/lib/alarmsandrules/CanaryOperationZonalAlarmsAndRules.d.ts +8 -0
- package/lib/alarmsandrules/CanaryOperationZonalAlarmsAndRules.js +18 -1
- package/lib/alarmsandrules/ServerSideOperationZonalAlarmsAndRules.d.ts +8 -0
- package/lib/alarmsandrules/ServerSideOperationZonalAlarmsAndRules.js +18 -1
- package/lib/alarmsandrules/ServiceAlarmsAndRules.js +3 -3
- package/lib/alarmsandrules/props/CanaryOperationZonalAlarmsAndRulesProps.js +1 -1
- package/lib/azmapper/AvailabilityZoneMapper.js +1 -1
- package/lib/basic_observability/BasicServiceDashboard.js +130 -0
- package/lib/{services → basic_observability}/BasicServiceMultiAZObservability.d.ts +9 -7
- package/lib/basic_observability/BasicServiceMultiAZObservability.js +429 -0
- package/lib/basic_observability/IBasicServiceMultiAZObservability.d.ts +51 -0
- package/lib/basic_observability/IBasicServiceMultiAZObservability.js +5 -0
- package/lib/{dashboards → basic_observability}/props/BasicServiceDashboardProps.d.ts +3 -0
- package/lib/basic_observability/props/BasicServiceDashboardProps.js +3 -0
- package/lib/{services → basic_observability}/props/BasicServiceMultiAZObservabilityProps.d.ts +29 -46
- package/lib/basic_observability/props/BasicServiceMultiAZObservabilityProps.js +5 -0
- package/lib/basic_observability/props/RegionalApplicationLoadBalancerAvailabilityMetricProps.d.ts +8 -0
- package/lib/basic_observability/props/RegionalApplicationLoadBalancerAvailabilityMetricProps.js +3 -0
- package/lib/basic_observability/props/RegionalApplicationLoadBalancerLatencyMetricProps.d.ts +8 -0
- package/lib/basic_observability/props/RegionalApplicationLoadBalancerLatencyMetricProps.js +3 -0
- package/lib/basic_observability/props/ZonalApplicationLoadBalancerAvailabilityMetricProps.d.ts +10 -0
- package/lib/basic_observability/props/ZonalApplicationLoadBalancerAvailabilityMetricProps.js +3 -0
- package/lib/basic_observability/props/ZonalApplicationLoadBalancerLatencyMetricProps.d.ts +10 -0
- package/lib/basic_observability/props/ZonalApplicationLoadBalancerLatencyMetricProps.js +3 -0
- package/lib/canaries/src/canary.zip +0 -0
- package/lib/dashboards/OperationAvailabilityAndLatencyDashboard.js +14 -16
- package/lib/dashboards/ServiceAvailabilityAndLatencyDashboard.js +16 -7
- package/lib/index.d.ts +2 -2
- package/lib/index.js +2 -2
- package/lib/metrics/ApplicationLoadBalancerMetrics.d.ts +55 -17
- package/lib/metrics/ApplicationLoadBalancerMetrics.js +459 -105
- package/lib/metrics/AvailabilityAndLatencyMetrics.d.ts +0 -11
- package/lib/metrics/AvailabilityAndLatencyMetrics.js +1 -24
- package/lib/metrics/RegionalLatencyMetrics.js +7 -6
- package/lib/metrics/ZonalAvailabilityMetrics.js +2 -2
- package/lib/metrics/ZonalLatencyMetrics.js +4 -3
- package/lib/monitoring/src/monitoring-layer.zip +0 -0
- package/lib/outlier-detection/OutlierDetectionFunction.js +5 -5
- package/lib/outlier-detection/src/outlier-detection.zip +0 -0
- package/lib/outlier-detection/src/scipy-layer.zip +0 -0
- package/lib/services/CanaryMetrics.js +1 -1
- package/lib/services/CanaryTestMetricsOverride.js +1 -1
- package/lib/services/ContributorInsightRuleDetails.js +1 -1
- package/lib/services/InstrumentedServiceMultiAZObservability.js +1 -1
- package/lib/services/Operation.js +1 -1
- package/lib/services/OperationMetricDetails.js +1 -1
- package/lib/services/Service.js +1 -1
- package/lib/services/ServiceMetricDetails.js +1 -1
- package/lib/services/props/MetricDimensions.js +1 -1
- package/lib/utilities/LatencyMetricType.d.ts +5 -1
- package/lib/utilities/LatencyMetricType.js +5 -1
- package/lib/utilities/MetricsHelper.d.ts +13 -0
- package/lib/utilities/MetricsHelper.js +30 -0
- package/package.json +7 -7
- package/lib/dashboards/BasicServiceDashboard.js +0 -130
- package/lib/dashboards/props/BasicServiceDashboardProps.js +0 -3
- package/lib/services/BasicServiceMultiAZObservability.js +0 -504
- package/lib/services/props/BasicServiceMultiAZObservabilityProps.js +0 -3
- /package/lib/{dashboards → basic_observability}/BasicServiceDashboard.d.ts +0 -0
package/API.md
CHANGED
|
@@ -823,7 +823,7 @@ The currently in use Availability Zone names which constrains the list of AZ IDs
|
|
|
823
823
|
|
|
824
824
|
### BasicServiceMultiAZObservabilityProps <a name="BasicServiceMultiAZObservabilityProps" id="@cdklabs/multi-az-observability.BasicServiceMultiAZObservabilityProps"></a>
|
|
825
825
|
|
|
826
|
-
Properties for creating
|
|
826
|
+
Properties for creating basic multi-AZ observability.
|
|
827
827
|
|
|
828
828
|
#### Initializer <a name="Initializer" id="@cdklabs/multi-az-observability.BasicServiceMultiAZObservabilityProps.Initializer"></a>
|
|
829
829
|
|
|
@@ -837,80 +837,83 @@ const basicServiceMultiAZObservabilityProps: BasicServiceMultiAZObservabilityPro
|
|
|
837
837
|
|
|
838
838
|
| **Name** | **Type** | **Description** |
|
|
839
839
|
| --- | --- | --- |
|
|
840
|
-
| <code><a href="#@cdklabs/multi-az-observability.BasicServiceMultiAZObservabilityProps.property.createDashboard">createDashboard</a></code> | <code>boolean</code> | Whether to create a dashboard displaying the metrics and alarms. |
|
|
841
840
|
| <code><a href="#@cdklabs/multi-az-observability.BasicServiceMultiAZObservabilityProps.property.datapointsToAlarm">datapointsToAlarm</a></code> | <code>number</code> | The number of datapoints to alarm on for latency and availability alarms. |
|
|
842
841
|
| <code><a href="#@cdklabs/multi-az-observability.BasicServiceMultiAZObservabilityProps.property.evaluationPeriods">evaluationPeriods</a></code> | <code>number</code> | The number of evaluation periods for latency and availabiltiy alarms. |
|
|
843
|
-
| <code><a href="#@cdklabs/multi-az-observability.BasicServiceMultiAZObservabilityProps.property.
|
|
844
|
-
| <code><a href="#@cdklabs/multi-az-observability.BasicServiceMultiAZObservabilityProps.property.
|
|
842
|
+
| <code><a href="#@cdklabs/multi-az-observability.BasicServiceMultiAZObservabilityProps.property.faultCountPercentageThreshold">faultCountPercentageThreshold</a></code> | <code>number</code> | The percentage of faults for a single ALB to consider an AZ to be unhealthy, this should align with your availability goal. |
|
|
843
|
+
| <code><a href="#@cdklabs/multi-az-observability.BasicServiceMultiAZObservabilityProps.property.latencyStatistic">latencyStatistic</a></code> | <code>string</code> | The statistic used to measure target response latency, like p99, which can be specified using Stats.percentile(99) or "p99". |
|
|
844
|
+
| <code><a href="#@cdklabs/multi-az-observability.BasicServiceMultiAZObservabilityProps.property.latencyThreshold">latencyThreshold</a></code> | <code>number</code> | The threshold in seconds for ALB targets whose responses are slower than this value at the specified percentile statistic. |
|
|
845
845
|
| <code><a href="#@cdklabs/multi-az-observability.BasicServiceMultiAZObservabilityProps.property.serviceName">serviceName</a></code> | <code>string</code> | The service's name. |
|
|
846
846
|
| <code><a href="#@cdklabs/multi-az-observability.BasicServiceMultiAZObservabilityProps.property.applicationLoadBalancers">applicationLoadBalancers</a></code> | <code>aws-cdk-lib.aws_elasticloadbalancingv2.IApplicationLoadBalancer[]</code> | The application load balancers being used by the service. |
|
|
847
847
|
| <code><a href="#@cdklabs/multi-az-observability.BasicServiceMultiAZObservabilityProps.property.assetsBucketParameterName">assetsBucketParameterName</a></code> | <code>string</code> | If you are not using a static bucket to deploy assets, for example you are synthing this and it gets uploaded to a bucket whose name is unknown to you (maybe used as part of a central CI/CD system) and is provided as a parameter to your stack, specify that parameter name here. |
|
|
848
848
|
| <code><a href="#@cdklabs/multi-az-observability.BasicServiceMultiAZObservabilityProps.property.assetsBucketPrefixParameterName">assetsBucketPrefixParameterName</a></code> | <code>string</code> | If you are not using a static bucket to deploy assets, for example you are synthing this and it gets uploaded to a bucket that uses a prefix that is unknown to you (maybe used as part of a central CI/CD system) and is provided as a parameter to your stack, specify that parameter name here. |
|
|
849
|
-
| <code><a href="#@cdklabs/multi-az-observability.BasicServiceMultiAZObservabilityProps.property.
|
|
849
|
+
| <code><a href="#@cdklabs/multi-az-observability.BasicServiceMultiAZObservabilityProps.property.createDashboard">createDashboard</a></code> | <code>boolean</code> | Whether to create a dashboard displaying the metrics and alarms. |
|
|
850
850
|
| <code><a href="#@cdklabs/multi-az-observability.BasicServiceMultiAZObservabilityProps.property.interval">interval</a></code> | <code>aws-cdk-lib.Duration</code> | Dashboard interval. |
|
|
851
851
|
| <code><a href="#@cdklabs/multi-az-observability.BasicServiceMultiAZObservabilityProps.property.natGateways">natGateways</a></code> | <code>{[ key: string ]: aws-cdk-lib.aws_ec2.CfnNatGateway[]}</code> | (Optional) A map of Availability Zone name to the NAT Gateways in that AZ. |
|
|
852
|
-
| <code><a href="#@cdklabs/multi-az-observability.BasicServiceMultiAZObservabilityProps.property.outlierThreshold">outlierThreshold</a></code> | <code>number</code> | The outlier threshold for determining if an AZ is an outlier for latency or faults. |
|
|
853
852
|
| <code><a href="#@cdklabs/multi-az-observability.BasicServiceMultiAZObservabilityProps.property.packetLossImpactPercentageThreshold">packetLossImpactPercentageThreshold</a></code> | <code>number</code> | The amount of packet loss in a NAT GW to determine if an AZ is actually impacted, recommendation is 0.01%. |
|
|
853
|
+
| <code><a href="#@cdklabs/multi-az-observability.BasicServiceMultiAZObservabilityProps.property.period">period</a></code> | <code>aws-cdk-lib.Duration</code> | The period to evaluate metrics. |
|
|
854
854
|
|
|
855
855
|
---
|
|
856
856
|
|
|
857
|
-
##### `
|
|
857
|
+
##### `datapointsToAlarm`<sup>Required</sup> <a name="datapointsToAlarm" id="@cdklabs/multi-az-observability.BasicServiceMultiAZObservabilityProps.property.datapointsToAlarm"></a>
|
|
858
858
|
|
|
859
859
|
```typescript
|
|
860
|
-
public readonly
|
|
860
|
+
public readonly datapointsToAlarm: number;
|
|
861
861
|
```
|
|
862
862
|
|
|
863
|
-
- *Type:*
|
|
863
|
+
- *Type:* number
|
|
864
864
|
|
|
865
|
-
|
|
865
|
+
The number of datapoints to alarm on for latency and availability alarms.
|
|
866
866
|
|
|
867
867
|
---
|
|
868
868
|
|
|
869
|
-
##### `
|
|
869
|
+
##### `evaluationPeriods`<sup>Required</sup> <a name="evaluationPeriods" id="@cdklabs/multi-az-observability.BasicServiceMultiAZObservabilityProps.property.evaluationPeriods"></a>
|
|
870
870
|
|
|
871
871
|
```typescript
|
|
872
|
-
public readonly
|
|
872
|
+
public readonly evaluationPeriods: number;
|
|
873
873
|
```
|
|
874
874
|
|
|
875
875
|
- *Type:* number
|
|
876
876
|
|
|
877
|
-
The number of
|
|
877
|
+
The number of evaluation periods for latency and availabiltiy alarms.
|
|
878
878
|
|
|
879
879
|
---
|
|
880
880
|
|
|
881
|
-
##### `
|
|
881
|
+
##### `faultCountPercentageThreshold`<sup>Required</sup> <a name="faultCountPercentageThreshold" id="@cdklabs/multi-az-observability.BasicServiceMultiAZObservabilityProps.property.faultCountPercentageThreshold"></a>
|
|
882
882
|
|
|
883
883
|
```typescript
|
|
884
|
-
public readonly
|
|
884
|
+
public readonly faultCountPercentageThreshold: number;
|
|
885
885
|
```
|
|
886
886
|
|
|
887
887
|
- *Type:* number
|
|
888
888
|
|
|
889
|
-
The
|
|
889
|
+
The percentage of faults for a single ALB to consider an AZ to be unhealthy, this should align with your availability goal.
|
|
890
|
+
|
|
891
|
+
For example
|
|
892
|
+
1% or 5%, specify as 1 or 5.
|
|
890
893
|
|
|
891
894
|
---
|
|
892
895
|
|
|
893
|
-
##### `
|
|
896
|
+
##### `latencyStatistic`<sup>Required</sup> <a name="latencyStatistic" id="@cdklabs/multi-az-observability.BasicServiceMultiAZObservabilityProps.property.latencyStatistic"></a>
|
|
894
897
|
|
|
895
898
|
```typescript
|
|
896
|
-
public readonly
|
|
899
|
+
public readonly latencyStatistic: string;
|
|
897
900
|
```
|
|
898
901
|
|
|
899
|
-
- *Type:*
|
|
902
|
+
- *Type:* string
|
|
900
903
|
|
|
901
|
-
The
|
|
904
|
+
The statistic used to measure target response latency, like p99, which can be specified using Stats.percentile(99) or "p99".
|
|
902
905
|
|
|
903
906
|
---
|
|
904
907
|
|
|
905
|
-
##### `
|
|
908
|
+
##### `latencyThreshold`<sup>Required</sup> <a name="latencyThreshold" id="@cdklabs/multi-az-observability.BasicServiceMultiAZObservabilityProps.property.latencyThreshold"></a>
|
|
906
909
|
|
|
907
910
|
```typescript
|
|
908
|
-
public readonly
|
|
911
|
+
public readonly latencyThreshold: number;
|
|
909
912
|
```
|
|
910
913
|
|
|
911
|
-
- *Type:*
|
|
914
|
+
- *Type:* number
|
|
912
915
|
|
|
913
|
-
The
|
|
916
|
+
The threshold in seconds for ALB targets whose responses are slower than this value at the specified percentile statistic.
|
|
914
917
|
|
|
915
918
|
---
|
|
916
919
|
|
|
@@ -933,10 +936,14 @@ public readonly applicationLoadBalancers: IApplicationLoadBalancer[];
|
|
|
933
936
|
```
|
|
934
937
|
|
|
935
938
|
- *Type:* aws-cdk-lib.aws_elasticloadbalancingv2.IApplicationLoadBalancer[]
|
|
936
|
-
- *Default:* No alarms for ALBs will be created
|
|
939
|
+
- *Default:* "No alarms for ALBs will be created"
|
|
937
940
|
|
|
938
941
|
The application load balancers being used by the service.
|
|
939
942
|
|
|
943
|
+
There will be an alarm created for
|
|
944
|
+
each AZ for each ALB. Then, there will be a composite alarm for AZ created from the input
|
|
945
|
+
of all ALBs. You must either specify an ALB or a NAT GW.
|
|
946
|
+
|
|
940
947
|
---
|
|
941
948
|
|
|
942
949
|
##### `assetsBucketParameterName`<sup>Optional</sup> <a name="assetsBucketParameterName" id="@cdklabs/multi-az-observability.BasicServiceMultiAZObservabilityProps.property.assetsBucketParameterName"></a>
|
|
@@ -946,7 +953,7 @@ public readonly assetsBucketParameterName: string;
|
|
|
946
953
|
```
|
|
947
954
|
|
|
948
955
|
- *Type:* string
|
|
949
|
-
- *Default:* The assets will be uploaded to the default defined asset location.
|
|
956
|
+
- *Default:* "The assets will be uploaded to the default defined asset location."
|
|
950
957
|
|
|
951
958
|
If you are not using a static bucket to deploy assets, for example you are synthing this and it gets uploaded to a bucket whose name is unknown to you (maybe used as part of a central CI/CD system) and is provided as a parameter to your stack, specify that parameter name here.
|
|
952
959
|
|
|
@@ -965,7 +972,7 @@ public readonly assetsBucketPrefixParameterName: string;
|
|
|
965
972
|
```
|
|
966
973
|
|
|
967
974
|
- *Type:* string
|
|
968
|
-
- *Default:* No object prefix will be added to your custom assets location. However, if you have overridden something like the 'BucketPrefix' property in your stack synthesizer with a variable like
|
|
975
|
+
- *Default:* "No object prefix will be added to your custom assets location. However, if you have overridden something like the 'BucketPrefix' property in your stack synthesizer with a variable like '${AssetsBucketPrefix}', you will need to define this property so it doesn't cause a reference error even if the prefix value is blank."
|
|
969
976
|
|
|
970
977
|
If you are not using a static bucket to deploy assets, for example you are synthing this and it gets uploaded to a bucket that uses a prefix that is unknown to you (maybe used as part of a central CI/CD system) and is provided as a parameter to your stack, specify that parameter name here.
|
|
971
978
|
|
|
@@ -978,19 +985,16 @@ value for this property.
|
|
|
978
985
|
|
|
979
986
|
---
|
|
980
987
|
|
|
981
|
-
##### `
|
|
988
|
+
##### `createDashboard`<sup>Optional</sup> <a name="createDashboard" id="@cdklabs/multi-az-observability.BasicServiceMultiAZObservabilityProps.property.createDashboard"></a>
|
|
982
989
|
|
|
983
990
|
```typescript
|
|
984
|
-
public readonly
|
|
991
|
+
public readonly createDashboard: boolean;
|
|
985
992
|
```
|
|
986
993
|
|
|
987
|
-
- *Type:*
|
|
988
|
-
- *Default:*
|
|
989
|
-
|
|
990
|
-
The percentage of faults for a single ALB to consider an AZ to be unhealthy, this should align with your availability goal.
|
|
994
|
+
- *Type:* boolean
|
|
995
|
+
- *Default:* false
|
|
991
996
|
|
|
992
|
-
|
|
993
|
-
1% or 5%.
|
|
997
|
+
Whether to create a dashboard displaying the metrics and alarms.
|
|
994
998
|
|
|
995
999
|
---
|
|
996
1000
|
|
|
@@ -1001,7 +1005,7 @@ public readonly interval: Duration;
|
|
|
1001
1005
|
```
|
|
1002
1006
|
|
|
1003
1007
|
- *Type:* aws-cdk-lib.Duration
|
|
1004
|
-
- *Default:* 1
|
|
1008
|
+
- *Default:* Duration.hours(1)
|
|
1005
1009
|
|
|
1006
1010
|
Dashboard interval.
|
|
1007
1011
|
|
|
@@ -1014,53 +1018,39 @@ public readonly natGateways: {[ key: string ]: CfnNatGateway[]};
|
|
|
1014
1018
|
```
|
|
1015
1019
|
|
|
1016
1020
|
- *Type:* {[ key: string ]: aws-cdk-lib.aws_ec2.CfnNatGateway[]}
|
|
1017
|
-
- *Default:* No alarms for NAT Gateways will be created
|
|
1021
|
+
- *Default:* "No alarms for NAT Gateways will be created"
|
|
1018
1022
|
|
|
1019
1023
|
(Optional) A map of Availability Zone name to the NAT Gateways in that AZ.
|
|
1020
1024
|
|
|
1025
|
+
One alarm per NAT GW will be created. If multiple NAT GWs
|
|
1026
|
+
are provided for a single AZ, those alarms will be aggregated into
|
|
1027
|
+
a composite alarm for the AZ. You must either specify an ALB or a NAT GW.
|
|
1028
|
+
|
|
1021
1029
|
---
|
|
1022
1030
|
|
|
1023
|
-
##### `
|
|
1031
|
+
##### `packetLossImpactPercentageThreshold`<sup>Optional</sup> <a name="packetLossImpactPercentageThreshold" id="@cdklabs/multi-az-observability.BasicServiceMultiAZObservabilityProps.property.packetLossImpactPercentageThreshold"></a>
|
|
1024
1032
|
|
|
1025
1033
|
```typescript
|
|
1026
|
-
public readonly
|
|
1034
|
+
public readonly packetLossImpactPercentageThreshold: number;
|
|
1027
1035
|
```
|
|
1028
1036
|
|
|
1029
1037
|
- *Type:* number
|
|
1030
|
-
- *Default:*
|
|
1038
|
+
- *Default:* "0.01 (as in 0.01%)"
|
|
1031
1039
|
|
|
1032
|
-
The
|
|
1033
|
-
|
|
1034
|
-
This number is interpreted
|
|
1035
|
-
differently for different outlier algorithms. When used with
|
|
1036
|
-
STATIC, the number should be between 0 and 1 to represent the
|
|
1037
|
-
percentage of errors (like .7) that an AZ must be responsible
|
|
1038
|
-
for to be considered an outlier. When used with CHI_SQUARED, it
|
|
1039
|
-
represents the p value that indicates statistical significance, like
|
|
1040
|
-
0.05 which means the skew has less than or equal to a 5% chance of
|
|
1041
|
-
occuring. When used with Z_SCORE it indicates how many standard
|
|
1042
|
-
deviations to evaluate for an AZ being an outlier, typically 3 is
|
|
1043
|
-
standard for Z_SCORE.
|
|
1044
|
-
|
|
1045
|
-
Standard defaults based on the outlier detection algorithm:
|
|
1046
|
-
STATIC: 0.7
|
|
1047
|
-
CHI_SQUARED: 0.05
|
|
1048
|
-
Z_SCORE: 2
|
|
1049
|
-
IQR: 1.5
|
|
1050
|
-
MAD: 3
|
|
1040
|
+
The amount of packet loss in a NAT GW to determine if an AZ is actually impacted, recommendation is 0.01%.
|
|
1051
1041
|
|
|
1052
1042
|
---
|
|
1053
1043
|
|
|
1054
|
-
##### `
|
|
1044
|
+
##### `period`<sup>Optional</sup> <a name="period" id="@cdklabs/multi-az-observability.BasicServiceMultiAZObservabilityProps.property.period"></a>
|
|
1055
1045
|
|
|
1056
1046
|
```typescript
|
|
1057
|
-
public readonly
|
|
1047
|
+
public readonly period: Duration;
|
|
1058
1048
|
```
|
|
1059
1049
|
|
|
1060
|
-
- *Type:*
|
|
1061
|
-
- *Default:*
|
|
1050
|
+
- *Type:* aws-cdk-lib.Duration
|
|
1051
|
+
- *Default:* Duration.minutes(1)
|
|
1062
1052
|
|
|
1063
|
-
The
|
|
1053
|
+
The period to evaluate metrics.
|
|
1064
1054
|
|
|
1065
1055
|
---
|
|
1066
1056
|
|
|
@@ -55,6 +55,20 @@ export declare class AvailabilityAndLatencyAlarmsAndRules {
|
|
|
55
55
|
* @returns
|
|
56
56
|
*/
|
|
57
57
|
static createZonalFaultRateStaticOutlierAlarm(scope: Construct, metricDetails: IOperationMetricDetails, availabilityZoneId: string, counter: number, outlierThreshold: number, nameSuffix?: string): IAlarm;
|
|
58
|
+
/**
|
|
59
|
+
* An alarm that compares error rate in this AZ to the overall region error based only on metric data.
|
|
60
|
+
* This is different for canaries because the metrics they test at the regional level are different
|
|
61
|
+
* requests than the ones sent to the zonal endpoints. So you have to add all of the zonal requests together
|
|
62
|
+
* to compare one AZ to the others (you can't compare a zone to the regional metrics).
|
|
63
|
+
* @param scope
|
|
64
|
+
* @param metricDetails
|
|
65
|
+
* @param availabilityZoneId
|
|
66
|
+
* @param nameSuffix
|
|
67
|
+
* @param counter
|
|
68
|
+
* @param outlierThreshold
|
|
69
|
+
* @returns
|
|
70
|
+
*/
|
|
71
|
+
static createZonalFaultRateStaticOutlierAlarmForCanaries(scope: Construct, metricDetails: IOperationMetricDetails, availabilityZoneId: string, availabilityZones: string[], counter: number, outlierThreshold: number, nameSuffix?: string): IAlarm;
|
|
58
72
|
static createZonalFaultRateOutlierAlarm(scope: IConstruct, metricDetails: IOperationMetricDetails, availabilityZoneId: string, allAvailabilityZoneIds: string[], outlierThreshold: number, outlierDetectionFunction: IFunction, outlierDetectionAlgorithm: OutlierDetectionAlgorithm, counter: number, nameSuffix?: string): IAlarm;
|
|
59
73
|
static createZonalFaultRateOutlierAlarmForAlb(scope: IConstruct, loadBalancers: IApplicationLoadBalancer[], availabilityZoneId: string, outlierThreshold: number, outlierDetectionFunction: IFunction, outlierDetectionAlgorithm: OutlierDetectionAlgorithm, azMapper: IAvailabilityZoneMapper, counter: number, evaluationPeriods: number, datapointsToAlarm: number, nameSuffix?: string): IAlarm;
|
|
60
74
|
static createZonalFaultRateOutlierAlarmForNatGW(scope: IConstruct, natGateways: {
|
|
@@ -62,6 +76,7 @@ export declare class AvailabilityAndLatencyAlarmsAndRules {
|
|
|
62
76
|
}, availabilityZoneId: string, outlierThreshold: number, outlierDetectionFunction: IFunction, outlierDetectionAlgorithm: OutlierDetectionAlgorithm, azMapper: IAvailabilityZoneMapper, counter: number, evaluationPeriods: number, datapointsToAlarm: number, nameSuffix?: string): IAlarm;
|
|
63
77
|
static createZonalHighLatencyOutlierAlarm(scope: IConstruct, metricDetails: IOperationMetricDetails, availabilityZoneId: string, allAvailabilityZoneIds: string[], outlierThreshold: number, outlierDetectionFunction: IFunction, outlierDetectionAlgorithm: OutlierDetectionAlgorithm, counter: number, nameSuffix?: string): IAlarm;
|
|
64
78
|
static createZonalHighLatencyStaticOutlierAlarm(scope: Construct, metricDetails: IOperationMetricDetails, availabilityZoneId: string, counter: number, outlierThreshold: number, nameSuffix?: string): IAlarm;
|
|
79
|
+
static createZonalHighLatencyStaticOutlierAlarmForCanaries(scope: Construct, metricDetails: IOperationMetricDetails, availabilityZoneId: string, availabilityZones: string[], counter: number, outlierThreshold: number, nameSuffix?: string): IAlarm;
|
|
65
80
|
/**
|
|
66
81
|
* An insight rule that calculates how many instances are responding to requests in
|
|
67
82
|
* the specified AZ. Only useful for server-side metrics since the canary doesn't record instance id metrics.
|