@cdklabs/multi-az-observability 0.0.1-alpha.41 → 0.0.1-alpha.43
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 +155 -37
- package/API.md +120 -17
- package/lib/alarmsandrules/AvailabilityAndLatencyAlarmsAndRules.d.ts +2 -1
- package/lib/alarmsandrules/AvailabilityAndLatencyAlarmsAndRules.js +4 -3
- package/lib/alarmsandrules/CanaryOperationZonalAlarmsAndRules.js +3 -2
- package/lib/alarmsandrules/ServerSideOperationZonalAlarmsAndRules.js +3 -2
- package/lib/alarmsandrules/props/OperationAlarmsAndRulesProps.d.ts +10 -0
- package/lib/alarmsandrules/props/OperationAlarmsAndRulesProps.js +1 -1
- package/lib/azmapper/AvailabilityZoneMapper.js +1 -1
- package/lib/basic_observability/BasicServiceMultiAZObservability.js +1 -1
- package/lib/canaries/src/canary.zip +0 -0
- package/lib/dashboards/ServiceAvailabilityAndLatencyDashboard.js +85 -13
- package/lib/index.d.ts +1 -0
- package/lib/index.js +4 -2
- package/lib/monitoring/src/monitoring-layer.zip +0 -0
- package/lib/outlier-detection/LatencyOutlierMetricAggregation.d.ts +22 -0
- package/lib/outlier-detection/LatencyOutlierMetricAggregation.js +27 -0
- 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/CanaryTestAvailabilityMetricsOverride.js +1 -1
- package/lib/services/CanaryTestLatencyMetricsOverride.js +1 -1
- package/lib/services/CanaryTestMetricsOverride.js +1 -1
- package/lib/services/ContributorInsightRuleDetails.js +1 -1
- package/lib/services/InstrumentedServiceMultiAZObservability.js +63 -29
- package/lib/services/Operation.js +1 -1
- package/lib/services/OperationAvailabilityMetricDetails.js +1 -1
- package/lib/services/OperationLatencyMetricDetails.js +1 -1
- package/lib/services/OperationMetricDetails.js +1 -1
- package/lib/services/Service.js +1 -1
- package/lib/services/ServiceAvailabilityMetricDetails.js +1 -1
- package/lib/services/ServiceLatencyMetricDetails.js +1 -1
- package/lib/services/ServiceMetricDetails.js +1 -1
- package/lib/services/props/InstrumentedServiceMultiAZObservabilityProps.d.ts +49 -4
- package/lib/services/props/InstrumentedServiceMultiAZObservabilityProps.js +1 -1
- package/lib/services/props/MetricDimensions.js +1 -1
- package/package.json +8 -8
package/.jsii
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
]
|
|
9
9
|
},
|
|
10
10
|
"dependencies": {
|
|
11
|
-
"aws-cdk-lib": "^2.
|
|
11
|
+
"aws-cdk-lib": "^2.187.0",
|
|
12
12
|
"constructs": "^10.0.5"
|
|
13
13
|
},
|
|
14
14
|
"dependencyClosure": {
|
|
@@ -942,6 +942,19 @@
|
|
|
942
942
|
}
|
|
943
943
|
}
|
|
944
944
|
},
|
|
945
|
+
"aws-cdk-lib.aws_cognito_identitypool": {
|
|
946
|
+
"targets": {
|
|
947
|
+
"dotnet": {
|
|
948
|
+
"namespace": "Amazon.CDK.AWS.Cognito.Identitypool"
|
|
949
|
+
},
|
|
950
|
+
"java": {
|
|
951
|
+
"package": "software.amazon.awscdk.services.cognito.identitypool"
|
|
952
|
+
},
|
|
953
|
+
"python": {
|
|
954
|
+
"module": "aws_cdk.aws_cognito_identitypool"
|
|
955
|
+
}
|
|
956
|
+
}
|
|
957
|
+
},
|
|
945
958
|
"aws-cdk-lib.aws_comprehend": {
|
|
946
959
|
"targets": {
|
|
947
960
|
"dotnet": {
|
|
@@ -3256,6 +3269,19 @@
|
|
|
3256
3269
|
}
|
|
3257
3270
|
}
|
|
3258
3271
|
},
|
|
3272
|
+
"aws-cdk-lib.aws_scheduler_targets": {
|
|
3273
|
+
"targets": {
|
|
3274
|
+
"dotnet": {
|
|
3275
|
+
"namespace": "Amazon.CDK.AWS.Scheduler.Targets"
|
|
3276
|
+
},
|
|
3277
|
+
"java": {
|
|
3278
|
+
"package": "software.amazon.awscdk.services.scheduler.targets"
|
|
3279
|
+
},
|
|
3280
|
+
"python": {
|
|
3281
|
+
"module": "aws_cdk.aws_scheduler_targets"
|
|
3282
|
+
}
|
|
3283
|
+
}
|
|
3284
|
+
},
|
|
3259
3285
|
"aws-cdk-lib.aws_sdb": {
|
|
3260
3286
|
"targets": {
|
|
3261
3287
|
"dotnet": {
|
|
@@ -3913,7 +3939,7 @@
|
|
|
3913
3939
|
"stability": "experimental"
|
|
3914
3940
|
},
|
|
3915
3941
|
"homepage": "https://github.com/cdklabs/cdk-multi-az-observability",
|
|
3916
|
-
"jsiiVersion": "5.5.
|
|
3942
|
+
"jsiiVersion": "5.5.27 (build f682ef9)",
|
|
3917
3943
|
"keywords": [
|
|
3918
3944
|
"aws-cdk",
|
|
3919
3945
|
"cdk",
|
|
@@ -8598,7 +8624,7 @@
|
|
|
8598
8624
|
},
|
|
8599
8625
|
"locationInModule": {
|
|
8600
8626
|
"filename": "src/services/InstrumentedServiceMultiAZObservability.ts",
|
|
8601
|
-
"line":
|
|
8627
|
+
"line": 352
|
|
8602
8628
|
},
|
|
8603
8629
|
"parameters": [
|
|
8604
8630
|
{
|
|
@@ -8627,7 +8653,7 @@
|
|
|
8627
8653
|
"kind": "class",
|
|
8628
8654
|
"locationInModule": {
|
|
8629
8655
|
"filename": "src/services/InstrumentedServiceMultiAZObservability.ts",
|
|
8630
|
-
"line":
|
|
8656
|
+
"line": 38
|
|
8631
8657
|
},
|
|
8632
8658
|
"name": "InstrumentedServiceMultiAZObservability",
|
|
8633
8659
|
"properties": [
|
|
@@ -8639,7 +8665,7 @@
|
|
|
8639
8665
|
"immutable": true,
|
|
8640
8666
|
"locationInModule": {
|
|
8641
8667
|
"filename": "src/services/InstrumentedServiceMultiAZObservability.ts",
|
|
8642
|
-
"line":
|
|
8668
|
+
"line": 46
|
|
8643
8669
|
},
|
|
8644
8670
|
"name": "perOperationAlarmsAndRules",
|
|
8645
8671
|
"overrides": "@cdklabs/multi-az-observability.IInstrumentedServiceMultiAZObservability",
|
|
@@ -8661,7 +8687,7 @@
|
|
|
8661
8687
|
"immutable": true,
|
|
8662
8688
|
"locationInModule": {
|
|
8663
8689
|
"filename": "src/services/InstrumentedServiceMultiAZObservability.ts",
|
|
8664
|
-
"line":
|
|
8690
|
+
"line": 56
|
|
8665
8691
|
},
|
|
8666
8692
|
"name": "perOperationZonalImpactAlarms",
|
|
8667
8693
|
"overrides": "@cdklabs/multi-az-observability.IInstrumentedServiceMultiAZObservability",
|
|
@@ -8687,7 +8713,7 @@
|
|
|
8687
8713
|
"immutable": true,
|
|
8688
8714
|
"locationInModule": {
|
|
8689
8715
|
"filename": "src/services/InstrumentedServiceMultiAZObservability.ts",
|
|
8690
|
-
"line":
|
|
8716
|
+
"line": 63
|
|
8691
8717
|
},
|
|
8692
8718
|
"name": "serviceAlarms",
|
|
8693
8719
|
"overrides": "@cdklabs/multi-az-observability.IInstrumentedServiceMultiAZObservability",
|
|
@@ -8704,7 +8730,7 @@
|
|
|
8704
8730
|
"immutable": true,
|
|
8705
8731
|
"locationInModule": {
|
|
8706
8732
|
"filename": "src/services/InstrumentedServiceMultiAZObservability.ts",
|
|
8707
|
-
"line":
|
|
8733
|
+
"line": 86
|
|
8708
8734
|
},
|
|
8709
8735
|
"name": "canaryLogGroup",
|
|
8710
8736
|
"optional": true,
|
|
@@ -8721,7 +8747,7 @@
|
|
|
8721
8747
|
"immutable": true,
|
|
8722
8748
|
"locationInModule": {
|
|
8723
8749
|
"filename": "src/services/InstrumentedServiceMultiAZObservability.ts",
|
|
8724
|
-
"line":
|
|
8750
|
+
"line": 68
|
|
8725
8751
|
},
|
|
8726
8752
|
"name": "operationDashboards",
|
|
8727
8753
|
"optional": true,
|
|
@@ -8743,7 +8769,7 @@
|
|
|
8743
8769
|
"immutable": true,
|
|
8744
8770
|
"locationInModule": {
|
|
8745
8771
|
"filename": "src/services/InstrumentedServiceMultiAZObservability.ts",
|
|
8746
|
-
"line":
|
|
8772
|
+
"line": 73
|
|
8747
8773
|
},
|
|
8748
8774
|
"name": "serviceDashboard",
|
|
8749
8775
|
"optional": true,
|
|
@@ -8766,26 +8792,10 @@
|
|
|
8766
8792
|
"kind": "interface",
|
|
8767
8793
|
"locationInModule": {
|
|
8768
8794
|
"filename": "src/services/props/InstrumentedServiceMultiAZObservabilityProps.ts",
|
|
8769
|
-
"line":
|
|
8795
|
+
"line": 12
|
|
8770
8796
|
},
|
|
8771
8797
|
"name": "InstrumentedServiceMultiAZObservabilityProps",
|
|
8772
8798
|
"properties": [
|
|
8773
|
-
{
|
|
8774
|
-
"abstract": true,
|
|
8775
|
-
"docs": {
|
|
8776
|
-
"stability": "experimental",
|
|
8777
|
-
"summary": "The algorithm to use for performing outlier detection."
|
|
8778
|
-
},
|
|
8779
|
-
"immutable": true,
|
|
8780
|
-
"locationInModule": {
|
|
8781
|
-
"filename": "src/services/props/InstrumentedServiceMultiAZObservabilityProps.ts",
|
|
8782
|
-
"line": 52
|
|
8783
|
-
},
|
|
8784
|
-
"name": "outlierDetectionAlgorithm",
|
|
8785
|
-
"type": {
|
|
8786
|
-
"fqn": "@cdklabs/multi-az-observability.OutlierDetectionAlgorithm"
|
|
8787
|
-
}
|
|
8788
|
-
},
|
|
8789
8799
|
{
|
|
8790
8800
|
"abstract": true,
|
|
8791
8801
|
"docs": {
|
|
@@ -8795,7 +8805,7 @@
|
|
|
8795
8805
|
"immutable": true,
|
|
8796
8806
|
"locationInModule": {
|
|
8797
8807
|
"filename": "src/services/props/InstrumentedServiceMultiAZObservabilityProps.ts",
|
|
8798
|
-
"line":
|
|
8808
|
+
"line": 16
|
|
8799
8809
|
},
|
|
8800
8810
|
"name": "service",
|
|
8801
8811
|
"type": {
|
|
@@ -8813,7 +8823,7 @@
|
|
|
8813
8823
|
"immutable": true,
|
|
8814
8824
|
"locationInModule": {
|
|
8815
8825
|
"filename": "src/services/props/InstrumentedServiceMultiAZObservabilityProps.ts",
|
|
8816
|
-
"line":
|
|
8826
|
+
"line": 124
|
|
8817
8827
|
},
|
|
8818
8828
|
"name": "assetsBucketParameterName",
|
|
8819
8829
|
"optional": true,
|
|
@@ -8832,7 +8842,7 @@
|
|
|
8832
8842
|
"immutable": true,
|
|
8833
8843
|
"locationInModule": {
|
|
8834
8844
|
"filename": "src/services/props/InstrumentedServiceMultiAZObservabilityProps.ts",
|
|
8835
|
-
"line":
|
|
8845
|
+
"line": 144
|
|
8836
8846
|
},
|
|
8837
8847
|
"name": "assetsBucketPrefixParameterName",
|
|
8838
8848
|
"optional": true,
|
|
@@ -8840,6 +8850,44 @@
|
|
|
8840
8850
|
"primitive": "string"
|
|
8841
8851
|
}
|
|
8842
8852
|
},
|
|
8853
|
+
{
|
|
8854
|
+
"abstract": true,
|
|
8855
|
+
"docs": {
|
|
8856
|
+
"default": "OutlierDetectionAlgorithm.STATIC",
|
|
8857
|
+
"remarks": "** Currently only STATIC is supported **",
|
|
8858
|
+
"stability": "experimental",
|
|
8859
|
+
"summary": "The algorithm to use for performing outlier detection for availability metrics."
|
|
8860
|
+
},
|
|
8861
|
+
"immutable": true,
|
|
8862
|
+
"locationInModule": {
|
|
8863
|
+
"filename": "src/services/props/InstrumentedServiceMultiAZObservabilityProps.ts",
|
|
8864
|
+
"line": 57
|
|
8865
|
+
},
|
|
8866
|
+
"name": "availabilityOutlierDetectionAlgorithm",
|
|
8867
|
+
"optional": true,
|
|
8868
|
+
"type": {
|
|
8869
|
+
"fqn": "@cdklabs/multi-az-observability.OutlierDetectionAlgorithm"
|
|
8870
|
+
}
|
|
8871
|
+
},
|
|
8872
|
+
{
|
|
8873
|
+
"abstract": true,
|
|
8874
|
+
"docs": {
|
|
8875
|
+
"default": "- Depends on the outlier detection algorithm selected",
|
|
8876
|
+
"remarks": "This number is interpreted\ndifferently for different outlier algorithms. When used with\nSTATIC, the number should be between 0 and 1 to represent the\npercentage of errors (like .7) that an AZ must be responsible\nfor to be considered an outlier. When used with CHI_SQUARED, it\nrepresents the p value that indicates statistical significance, like\n0.05 which means the skew has less than or equal to a 5% chance of\noccuring. When used with Z_SCORE it indicates how many standard\ndeviations to evaluate for an AZ being an outlier, typically 3 is\nstandard for Z_SCORE.\n\nStandard defaults based on the outlier detection algorithm:\nSTATIC: 0.7\nCHI_SQUARED: 0.05\nZ_SCORE: 3\nIQR: 1.5\nMAD: 3",
|
|
8877
|
+
"stability": "experimental",
|
|
8878
|
+
"summary": "The outlier threshold for determining if an AZ is an outlier for faults."
|
|
8879
|
+
},
|
|
8880
|
+
"immutable": true,
|
|
8881
|
+
"locationInModule": {
|
|
8882
|
+
"filename": "src/services/props/InstrumentedServiceMultiAZObservabilityProps.ts",
|
|
8883
|
+
"line": 48
|
|
8884
|
+
},
|
|
8885
|
+
"name": "availabilityOutlierThreshold",
|
|
8886
|
+
"optional": true,
|
|
8887
|
+
"type": {
|
|
8888
|
+
"primitive": "number"
|
|
8889
|
+
}
|
|
8890
|
+
},
|
|
8843
8891
|
{
|
|
8844
8892
|
"abstract": true,
|
|
8845
8893
|
"docs": {
|
|
@@ -8850,7 +8898,7 @@
|
|
|
8850
8898
|
"immutable": true,
|
|
8851
8899
|
"locationInModule": {
|
|
8852
8900
|
"filename": "src/services/props/InstrumentedServiceMultiAZObservabilityProps.ts",
|
|
8853
|
-
"line":
|
|
8901
|
+
"line": 24
|
|
8854
8902
|
},
|
|
8855
8903
|
"name": "createDashboards",
|
|
8856
8904
|
"optional": true,
|
|
@@ -8868,7 +8916,7 @@
|
|
|
8868
8916
|
"immutable": true,
|
|
8869
8917
|
"locationInModule": {
|
|
8870
8918
|
"filename": "src/services/props/InstrumentedServiceMultiAZObservabilityProps.ts",
|
|
8871
|
-
"line":
|
|
8919
|
+
"line": 108
|
|
8872
8920
|
},
|
|
8873
8921
|
"name": "interval",
|
|
8874
8922
|
"optional": true,
|
|
@@ -8876,20 +8924,57 @@
|
|
|
8876
8924
|
"fqn": "aws-cdk-lib.Duration"
|
|
8877
8925
|
}
|
|
8878
8926
|
},
|
|
8927
|
+
{
|
|
8928
|
+
"abstract": true,
|
|
8929
|
+
"docs": {
|
|
8930
|
+
"default": "OutlierDetectionAlgorithm.STATIC",
|
|
8931
|
+
"remarks": "** Currently only STATIC is supported **",
|
|
8932
|
+
"stability": "experimental",
|
|
8933
|
+
"summary": "The algorithm to use for performing outlier detection for latency metrics."
|
|
8934
|
+
},
|
|
8935
|
+
"immutable": true,
|
|
8936
|
+
"locationInModule": {
|
|
8937
|
+
"filename": "src/services/props/InstrumentedServiceMultiAZObservabilityProps.ts",
|
|
8938
|
+
"line": 90
|
|
8939
|
+
},
|
|
8940
|
+
"name": "latencyOutlierDetectionAlgorithm",
|
|
8941
|
+
"optional": true,
|
|
8942
|
+
"type": {
|
|
8943
|
+
"fqn": "@cdklabs/multi-az-observability.OutlierDetectionAlgorithm"
|
|
8944
|
+
}
|
|
8945
|
+
},
|
|
8946
|
+
{
|
|
8947
|
+
"abstract": true,
|
|
8948
|
+
"docs": {
|
|
8949
|
+
"default": "LatencyOutlierMetric.COUNT",
|
|
8950
|
+
"stability": "experimental",
|
|
8951
|
+
"summary": "The metric for latency to use in outlier detection, which means whether the algorithm uses a count of requests exceeding your latency threshold or whether it uses the actual latency values at your latency alarm threshold statistic."
|
|
8952
|
+
},
|
|
8953
|
+
"immutable": true,
|
|
8954
|
+
"locationInModule": {
|
|
8955
|
+
"filename": "src/services/props/InstrumentedServiceMultiAZObservabilityProps.ts",
|
|
8956
|
+
"line": 100
|
|
8957
|
+
},
|
|
8958
|
+
"name": "latencyOutlierMetricAggregation",
|
|
8959
|
+
"optional": true,
|
|
8960
|
+
"type": {
|
|
8961
|
+
"fqn": "@cdklabs/multi-az-observability.LatencyOutlierMetricAggregation"
|
|
8962
|
+
}
|
|
8963
|
+
},
|
|
8879
8964
|
{
|
|
8880
8965
|
"abstract": true,
|
|
8881
8966
|
"docs": {
|
|
8882
8967
|
"default": "- Depends on the outlier detection algorithm selected",
|
|
8883
8968
|
"remarks": "This number is interpreted\ndifferently for different outlier algorithms. When used with\nSTATIC, the number should be between 0 and 1 to represent the\npercentage of errors (like .7) that an AZ must be responsible\nfor to be considered an outlier. When used with CHI_SQUARED, it\nrepresents the p value that indicates statistical significance, like\n0.05 which means the skew has less than or equal to a 5% chance of\noccuring. When used with Z_SCORE it indicates how many standard\ndeviations to evaluate for an AZ being an outlier, typically 3 is\nstandard for Z_SCORE.\n\nStandard defaults based on the outlier detection algorithm:\nSTATIC: 0.7\nCHI_SQUARED: 0.05\nZ_SCORE: 3\nIQR: 1.5\nMAD: 3",
|
|
8884
8969
|
"stability": "experimental",
|
|
8885
|
-
"summary": "The outlier threshold for determining if an AZ is an outlier for latency
|
|
8970
|
+
"summary": "The outlier threshold for determining if an AZ is an outlier for latency."
|
|
8886
8971
|
},
|
|
8887
8972
|
"immutable": true,
|
|
8888
8973
|
"locationInModule": {
|
|
8889
8974
|
"filename": "src/services/props/InstrumentedServiceMultiAZObservabilityProps.ts",
|
|
8890
|
-
"line":
|
|
8975
|
+
"line": 81
|
|
8891
8976
|
},
|
|
8892
|
-
"name": "
|
|
8977
|
+
"name": "latencyOutlierThreshold",
|
|
8893
8978
|
"optional": true,
|
|
8894
8979
|
"type": {
|
|
8895
8980
|
"primitive": "number"
|
|
@@ -8898,6 +8983,39 @@
|
|
|
8898
8983
|
],
|
|
8899
8984
|
"symbolId": "src/services/props/InstrumentedServiceMultiAZObservabilityProps:InstrumentedServiceMultiAZObservabilityProps"
|
|
8900
8985
|
},
|
|
8986
|
+
"@cdklabs/multi-az-observability.LatencyOutlierMetricAggregation": {
|
|
8987
|
+
"assembly": "@cdklabs/multi-az-observability",
|
|
8988
|
+
"docs": {
|
|
8989
|
+
"stability": "experimental",
|
|
8990
|
+
"summary": "The latency metric aggregation to use for latency outlier detection."
|
|
8991
|
+
},
|
|
8992
|
+
"fqn": "@cdklabs/multi-az-observability.LatencyOutlierMetricAggregation",
|
|
8993
|
+
"kind": "enum",
|
|
8994
|
+
"locationInModule": {
|
|
8995
|
+
"filename": "src/outlier-detection/LatencyOutlierMetricAggregation.ts",
|
|
8996
|
+
"line": 4
|
|
8997
|
+
},
|
|
8998
|
+
"members": [
|
|
8999
|
+
{
|
|
9000
|
+
"docs": {
|
|
9001
|
+
"remarks": "This option works\nwith all outlier detection algorithms",
|
|
9002
|
+
"stability": "experimental",
|
|
9003
|
+
"summary": "This option will use the count of the number of requests exceeding a latency threshold to make an outlier comparison."
|
|
9004
|
+
},
|
|
9005
|
+
"name": "COUNT"
|
|
9006
|
+
},
|
|
9007
|
+
{
|
|
9008
|
+
"docs": {
|
|
9009
|
+
"remarks": "For example,\nAZ1: p99 = 125ms\nAZ2: p99 = 130ms\nAZ3: p99 = 250ms\n\nThese values will be compared using the provided outlier detection algorithm. This\noption is not compatible with the STATIC outlier detection algorithm.",
|
|
9010
|
+
"stability": "experimental",
|
|
9011
|
+
"summary": "This option will use the value of your provided latency statistic, like p99, and the value of the latency in each AZ will be compared."
|
|
9012
|
+
},
|
|
9013
|
+
"name": "VALUE"
|
|
9014
|
+
}
|
|
9015
|
+
],
|
|
9016
|
+
"name": "LatencyOutlierMetricAggregation",
|
|
9017
|
+
"symbolId": "src/outlier-detection/LatencyOutlierMetricAggregation:LatencyOutlierMetricAggregation"
|
|
9018
|
+
},
|
|
8901
9019
|
"@cdklabs/multi-az-observability.MetricDimensions": {
|
|
8902
9020
|
"assembly": "@cdklabs/multi-az-observability",
|
|
8903
9021
|
"docs": {
|
|
@@ -11628,6 +11746,6 @@
|
|
|
11628
11746
|
"symbolId": "src/services/props/ServiceProps:ServiceProps"
|
|
11629
11747
|
}
|
|
11630
11748
|
},
|
|
11631
|
-
"version": "0.0.1-alpha.
|
|
11632
|
-
"fingerprint": "
|
|
11749
|
+
"version": "0.0.1-alpha.43",
|
|
11750
|
+
"fingerprint": "6DGDr/sgSWsgfrdimRlKhEYUrbBIi5u9dYQI5OgLtiM="
|
|
11633
11751
|
}
|
package/API.md
CHANGED
|
@@ -1570,25 +1570,16 @@ const instrumentedServiceMultiAZObservabilityProps: InstrumentedServiceMultiAZOb
|
|
|
1570
1570
|
|
|
1571
1571
|
| **Name** | **Type** | **Description** |
|
|
1572
1572
|
| --- | --- | --- |
|
|
1573
|
-
| <code><a href="#@cdklabs/multi-az-observability.InstrumentedServiceMultiAZObservabilityProps.property.outlierDetectionAlgorithm">outlierDetectionAlgorithm</a></code> | <code><a href="#@cdklabs/multi-az-observability.OutlierDetectionAlgorithm">OutlierDetectionAlgorithm</a></code> | The algorithm to use for performing outlier detection. |
|
|
1574
1573
|
| <code><a href="#@cdklabs/multi-az-observability.InstrumentedServiceMultiAZObservabilityProps.property.service">service</a></code> | <code><a href="#@cdklabs/multi-az-observability.IService">IService</a></code> | The service that the alarms and dashboards are being crated for. |
|
|
1575
1574
|
| <code><a href="#@cdklabs/multi-az-observability.InstrumentedServiceMultiAZObservabilityProps.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. |
|
|
1576
1575
|
| <code><a href="#@cdklabs/multi-az-observability.InstrumentedServiceMultiAZObservabilityProps.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. |
|
|
1576
|
+
| <code><a href="#@cdklabs/multi-az-observability.InstrumentedServiceMultiAZObservabilityProps.property.availabilityOutlierDetectionAlgorithm">availabilityOutlierDetectionAlgorithm</a></code> | <code><a href="#@cdklabs/multi-az-observability.OutlierDetectionAlgorithm">OutlierDetectionAlgorithm</a></code> | The algorithm to use for performing outlier detection for availability metrics. |
|
|
1577
|
+
| <code><a href="#@cdklabs/multi-az-observability.InstrumentedServiceMultiAZObservabilityProps.property.availabilityOutlierThreshold">availabilityOutlierThreshold</a></code> | <code>number</code> | The outlier threshold for determining if an AZ is an outlier for faults. |
|
|
1577
1578
|
| <code><a href="#@cdklabs/multi-az-observability.InstrumentedServiceMultiAZObservabilityProps.property.createDashboards">createDashboards</a></code> | <code>boolean</code> | Indicates whether to create per operation and overall service dashboards. |
|
|
1578
1579
|
| <code><a href="#@cdklabs/multi-az-observability.InstrumentedServiceMultiAZObservabilityProps.property.interval">interval</a></code> | <code>aws-cdk-lib.Duration</code> | The interval used in the dashboard, defaults to 60 minutes. |
|
|
1579
|
-
| <code><a href="#@cdklabs/multi-az-observability.InstrumentedServiceMultiAZObservabilityProps.property.
|
|
1580
|
-
|
|
1581
|
-
|
|
1582
|
-
|
|
1583
|
-
##### `outlierDetectionAlgorithm`<sup>Required</sup> <a name="outlierDetectionAlgorithm" id="@cdklabs/multi-az-observability.InstrumentedServiceMultiAZObservabilityProps.property.outlierDetectionAlgorithm"></a>
|
|
1584
|
-
|
|
1585
|
-
```typescript
|
|
1586
|
-
public readonly outlierDetectionAlgorithm: OutlierDetectionAlgorithm;
|
|
1587
|
-
```
|
|
1588
|
-
|
|
1589
|
-
- *Type:* <a href="#@cdklabs/multi-az-observability.OutlierDetectionAlgorithm">OutlierDetectionAlgorithm</a>
|
|
1590
|
-
|
|
1591
|
-
The algorithm to use for performing outlier detection.
|
|
1580
|
+
| <code><a href="#@cdklabs/multi-az-observability.InstrumentedServiceMultiAZObservabilityProps.property.latencyOutlierDetectionAlgorithm">latencyOutlierDetectionAlgorithm</a></code> | <code><a href="#@cdklabs/multi-az-observability.OutlierDetectionAlgorithm">OutlierDetectionAlgorithm</a></code> | The algorithm to use for performing outlier detection for latency metrics. |
|
|
1581
|
+
| <code><a href="#@cdklabs/multi-az-observability.InstrumentedServiceMultiAZObservabilityProps.property.latencyOutlierMetricAggregation">latencyOutlierMetricAggregation</a></code> | <code><a href="#@cdklabs/multi-az-observability.LatencyOutlierMetricAggregation">LatencyOutlierMetricAggregation</a></code> | The metric for latency to use in outlier detection, which means whether the algorithm uses a count of requests exceeding your latency threshold or whether it uses the actual latency values at your latency alarm threshold statistic. |
|
|
1582
|
+
| <code><a href="#@cdklabs/multi-az-observability.InstrumentedServiceMultiAZObservabilityProps.property.latencyOutlierThreshold">latencyOutlierThreshold</a></code> | <code>number</code> | The outlier threshold for determining if an AZ is an outlier for latency. |
|
|
1592
1583
|
|
|
1593
1584
|
---
|
|
1594
1585
|
|
|
@@ -1643,6 +1634,52 @@ value for this property.
|
|
|
1643
1634
|
|
|
1644
1635
|
---
|
|
1645
1636
|
|
|
1637
|
+
##### `availabilityOutlierDetectionAlgorithm`<sup>Optional</sup> <a name="availabilityOutlierDetectionAlgorithm" id="@cdklabs/multi-az-observability.InstrumentedServiceMultiAZObservabilityProps.property.availabilityOutlierDetectionAlgorithm"></a>
|
|
1638
|
+
|
|
1639
|
+
```typescript
|
|
1640
|
+
public readonly availabilityOutlierDetectionAlgorithm: OutlierDetectionAlgorithm;
|
|
1641
|
+
```
|
|
1642
|
+
|
|
1643
|
+
- *Type:* <a href="#@cdklabs/multi-az-observability.OutlierDetectionAlgorithm">OutlierDetectionAlgorithm</a>
|
|
1644
|
+
- *Default:* OutlierDetectionAlgorithm.STATIC
|
|
1645
|
+
|
|
1646
|
+
The algorithm to use for performing outlier detection for availability metrics.
|
|
1647
|
+
|
|
1648
|
+
** Currently only STATIC is supported **
|
|
1649
|
+
|
|
1650
|
+
---
|
|
1651
|
+
|
|
1652
|
+
##### `availabilityOutlierThreshold`<sup>Optional</sup> <a name="availabilityOutlierThreshold" id="@cdklabs/multi-az-observability.InstrumentedServiceMultiAZObservabilityProps.property.availabilityOutlierThreshold"></a>
|
|
1653
|
+
|
|
1654
|
+
```typescript
|
|
1655
|
+
public readonly availabilityOutlierThreshold: number;
|
|
1656
|
+
```
|
|
1657
|
+
|
|
1658
|
+
- *Type:* number
|
|
1659
|
+
- *Default:* Depends on the outlier detection algorithm selected
|
|
1660
|
+
|
|
1661
|
+
The outlier threshold for determining if an AZ is an outlier for faults.
|
|
1662
|
+
|
|
1663
|
+
This number is interpreted
|
|
1664
|
+
differently for different outlier algorithms. When used with
|
|
1665
|
+
STATIC, the number should be between 0 and 1 to represent the
|
|
1666
|
+
percentage of errors (like .7) that an AZ must be responsible
|
|
1667
|
+
for to be considered an outlier. When used with CHI_SQUARED, it
|
|
1668
|
+
represents the p value that indicates statistical significance, like
|
|
1669
|
+
0.05 which means the skew has less than or equal to a 5% chance of
|
|
1670
|
+
occuring. When used with Z_SCORE it indicates how many standard
|
|
1671
|
+
deviations to evaluate for an AZ being an outlier, typically 3 is
|
|
1672
|
+
standard for Z_SCORE.
|
|
1673
|
+
|
|
1674
|
+
Standard defaults based on the outlier detection algorithm:
|
|
1675
|
+
STATIC: 0.7
|
|
1676
|
+
CHI_SQUARED: 0.05
|
|
1677
|
+
Z_SCORE: 3
|
|
1678
|
+
IQR: 1.5
|
|
1679
|
+
MAD: 3
|
|
1680
|
+
|
|
1681
|
+
---
|
|
1682
|
+
|
|
1646
1683
|
##### `createDashboards`<sup>Optional</sup> <a name="createDashboards" id="@cdklabs/multi-az-observability.InstrumentedServiceMultiAZObservabilityProps.property.createDashboards"></a>
|
|
1647
1684
|
|
|
1648
1685
|
```typescript
|
|
@@ -1669,16 +1706,44 @@ The interval used in the dashboard, defaults to 60 minutes.
|
|
|
1669
1706
|
|
|
1670
1707
|
---
|
|
1671
1708
|
|
|
1672
|
-
##### `
|
|
1709
|
+
##### `latencyOutlierDetectionAlgorithm`<sup>Optional</sup> <a name="latencyOutlierDetectionAlgorithm" id="@cdklabs/multi-az-observability.InstrumentedServiceMultiAZObservabilityProps.property.latencyOutlierDetectionAlgorithm"></a>
|
|
1710
|
+
|
|
1711
|
+
```typescript
|
|
1712
|
+
public readonly latencyOutlierDetectionAlgorithm: OutlierDetectionAlgorithm;
|
|
1713
|
+
```
|
|
1714
|
+
|
|
1715
|
+
- *Type:* <a href="#@cdklabs/multi-az-observability.OutlierDetectionAlgorithm">OutlierDetectionAlgorithm</a>
|
|
1716
|
+
- *Default:* OutlierDetectionAlgorithm.STATIC
|
|
1717
|
+
|
|
1718
|
+
The algorithm to use for performing outlier detection for latency metrics.
|
|
1719
|
+
|
|
1720
|
+
** Currently only STATIC is supported **
|
|
1721
|
+
|
|
1722
|
+
---
|
|
1723
|
+
|
|
1724
|
+
##### `latencyOutlierMetricAggregation`<sup>Optional</sup> <a name="latencyOutlierMetricAggregation" id="@cdklabs/multi-az-observability.InstrumentedServiceMultiAZObservabilityProps.property.latencyOutlierMetricAggregation"></a>
|
|
1673
1725
|
|
|
1674
1726
|
```typescript
|
|
1675
|
-
public readonly
|
|
1727
|
+
public readonly latencyOutlierMetricAggregation: LatencyOutlierMetricAggregation;
|
|
1728
|
+
```
|
|
1729
|
+
|
|
1730
|
+
- *Type:* <a href="#@cdklabs/multi-az-observability.LatencyOutlierMetricAggregation">LatencyOutlierMetricAggregation</a>
|
|
1731
|
+
- *Default:* LatencyOutlierMetric.COUNT
|
|
1732
|
+
|
|
1733
|
+
The metric for latency to use in outlier detection, which means whether the algorithm uses a count of requests exceeding your latency threshold or whether it uses the actual latency values at your latency alarm threshold statistic.
|
|
1734
|
+
|
|
1735
|
+
---
|
|
1736
|
+
|
|
1737
|
+
##### `latencyOutlierThreshold`<sup>Optional</sup> <a name="latencyOutlierThreshold" id="@cdklabs/multi-az-observability.InstrumentedServiceMultiAZObservabilityProps.property.latencyOutlierThreshold"></a>
|
|
1738
|
+
|
|
1739
|
+
```typescript
|
|
1740
|
+
public readonly latencyOutlierThreshold: number;
|
|
1676
1741
|
```
|
|
1677
1742
|
|
|
1678
1743
|
- *Type:* number
|
|
1679
1744
|
- *Default:* Depends on the outlier detection algorithm selected
|
|
1680
1745
|
|
|
1681
|
-
The outlier threshold for determining if an AZ is an outlier for latency
|
|
1746
|
+
The outlier threshold for determining if an AZ is an outlier for latency.
|
|
1682
1747
|
|
|
1683
1748
|
This number is interpreted
|
|
1684
1749
|
differently for different outlier algorithms. When used with
|
|
@@ -8574,6 +8639,44 @@ average for all AZs. This is the default.
|
|
|
8574
8639
|
---
|
|
8575
8640
|
|
|
8576
8641
|
|
|
8642
|
+
### LatencyOutlierMetricAggregation <a name="LatencyOutlierMetricAggregation" id="@cdklabs/multi-az-observability.LatencyOutlierMetricAggregation"></a>
|
|
8643
|
+
|
|
8644
|
+
The latency metric aggregation to use for latency outlier detection.
|
|
8645
|
+
|
|
8646
|
+
#### Members <a name="Members" id="Members"></a>
|
|
8647
|
+
|
|
8648
|
+
| **Name** | **Description** |
|
|
8649
|
+
| --- | --- |
|
|
8650
|
+
| <code><a href="#@cdklabs/multi-az-observability.LatencyOutlierMetricAggregation.COUNT">COUNT</a></code> | This option will use the count of the number of requests exceeding a latency threshold to make an outlier comparison. |
|
|
8651
|
+
| <code><a href="#@cdklabs/multi-az-observability.LatencyOutlierMetricAggregation.VALUE">VALUE</a></code> | This option will use the value of your provided latency statistic, like p99, and the value of the latency in each AZ will be compared. |
|
|
8652
|
+
|
|
8653
|
+
---
|
|
8654
|
+
|
|
8655
|
+
##### `COUNT` <a name="COUNT" id="@cdklabs/multi-az-observability.LatencyOutlierMetricAggregation.COUNT"></a>
|
|
8656
|
+
|
|
8657
|
+
This option will use the count of the number of requests exceeding a latency threshold to make an outlier comparison.
|
|
8658
|
+
|
|
8659
|
+
This option works
|
|
8660
|
+
with all outlier detection algorithms
|
|
8661
|
+
|
|
8662
|
+
---
|
|
8663
|
+
|
|
8664
|
+
|
|
8665
|
+
##### `VALUE` <a name="VALUE" id="@cdklabs/multi-az-observability.LatencyOutlierMetricAggregation.VALUE"></a>
|
|
8666
|
+
|
|
8667
|
+
This option will use the value of your provided latency statistic, like p99, and the value of the latency in each AZ will be compared.
|
|
8668
|
+
|
|
8669
|
+
For example,
|
|
8670
|
+
AZ1: p99 = 125ms
|
|
8671
|
+
AZ2: p99 = 130ms
|
|
8672
|
+
AZ3: p99 = 250ms
|
|
8673
|
+
|
|
8674
|
+
These values will be compared using the provided outlier detection algorithm. This
|
|
8675
|
+
option is not compatible with the STATIC outlier detection algorithm.
|
|
8676
|
+
|
|
8677
|
+
---
|
|
8678
|
+
|
|
8679
|
+
|
|
8577
8680
|
### OutlierDetectionAlgorithm <a name="OutlierDetectionAlgorithm" id="@cdklabs/multi-az-observability.OutlierDetectionAlgorithm"></a>
|
|
8578
8681
|
|
|
8579
8682
|
Available algorithms for performing outlier detection.
|
|
@@ -11,6 +11,7 @@ import { IOperationMetricDetails } from '../services/IOperationMetricDetails';
|
|
|
11
11
|
import { OutlierDetectionAlgorithm } from '../utilities/OutlierDetectionAlgorithm';
|
|
12
12
|
import { IOperationAvailabilityMetricDetails } from '../services/IOperationAvailabilityMetricDetails';
|
|
13
13
|
import { IOperationLatencyMetricDetails } from '../services/IOperationLatencyMetricDetails';
|
|
14
|
+
import { LatencyOutlierMetricAggregation } from '../outlier-detection/LatencyOutlierMetricAggregation';
|
|
14
15
|
/**
|
|
15
16
|
* Class used to create availability and latency alarms and Contributor Insight rules
|
|
16
17
|
*/
|
|
@@ -77,7 +78,7 @@ export declare class AvailabilityAndLatencyAlarmsAndRules {
|
|
|
77
78
|
static createZonalFaultRateOutlierAlarmForNatGW(scope: IConstruct, natGateways: {
|
|
78
79
|
[key: string]: CfnNatGateway[];
|
|
79
80
|
}, availabilityZoneId: string, outlierThreshold: number, outlierDetectionFunction: IFunction, outlierDetectionAlgorithm: OutlierDetectionAlgorithm, azMapper: IAvailabilityZoneMapper, counter: number, evaluationPeriods: number, datapointsToAlarm: number, period: Duration, nameSuffix?: string): IAlarm;
|
|
80
|
-
static createZonalHighLatencyOutlierAlarm(scope: IConstruct, metricDetails: IOperationLatencyMetricDetails, availabilityZoneId: string, allAvailabilityZoneIds: string[], outlierThreshold: number, outlierDetectionFunction: IFunction, outlierDetectionAlgorithm: OutlierDetectionAlgorithm, counter: number, nameSuffix?: string): IAlarm;
|
|
81
|
+
static createZonalHighLatencyOutlierAlarm(scope: IConstruct, metricDetails: IOperationLatencyMetricDetails, availabilityZoneId: string, allAvailabilityZoneIds: string[], outlierThreshold: number, outlierDetectionFunction: IFunction, outlierMetric: LatencyOutlierMetricAggregation, outlierDetectionAlgorithm: OutlierDetectionAlgorithm, counter: number, nameSuffix?: string): IAlarm;
|
|
81
82
|
static createZonalHighLatencyStaticOutlierAlarm(scope: Construct, metricDetails: IOperationLatencyMetricDetails, availabilityZone: string, availabilityZoneId: string, counter: number, outlierThreshold: number, nameSuffix?: string): IAlarm;
|
|
82
83
|
static createZonalHighLatencyStaticOutlierAlarmForCanaries(scope: Construct, metricDetails: IOperationLatencyMetricDetails, availabilityZone: string, availabilityZoneId: string, availabilityZones: string[], counter: number, outlierThreshold: number, nameSuffix?: string): IAlarm;
|
|
83
84
|
/**
|