@cdklabs/multi-az-observability 0.0.1-alpha.34 → 0.0.1-alpha.36

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.
Files changed (42) hide show
  1. package/.jsii +50 -35
  2. package/API.md +39 -23
  3. package/lib/alarmsandrules/AvailabilityAndLatencyAlarmsAndRules.js +8 -8
  4. package/lib/alarmsandrules/IOperationAlarmsAndRules.d.ts +3 -2
  5. package/lib/alarmsandrules/IOperationAlarmsAndRules.js +1 -1
  6. package/lib/alarmsandrules/IServiceAlarmsAndRules.d.ts +15 -7
  7. package/lib/alarmsandrules/IServiceAlarmsAndRules.js +1 -1
  8. package/lib/alarmsandrules/OperationAlarmsAndRules.d.ts +2 -1
  9. package/lib/alarmsandrules/OperationAlarmsAndRules.js +1 -1
  10. package/lib/alarmsandrules/ServiceAlarmsAndRules.d.ts +13 -11
  11. package/lib/alarmsandrules/ServiceAlarmsAndRules.js +24 -148
  12. package/lib/azmapper/AvailabilityZoneMapper.js +6 -8
  13. package/lib/basic_observability/BasicServiceMultiAZObservability.js +1 -1
  14. package/lib/canaries/CanaryFunction.js +6 -6
  15. package/lib/canaries/CanaryTest.js +4 -4
  16. package/lib/canaries/src/canary.zip +0 -0
  17. package/lib/dashboards/ContributorInsightsWidget.js +3 -3
  18. package/lib/dashboards/OperationAvailabilityAndLatencyDashboard.js +2 -2
  19. package/lib/dashboards/ServiceAvailabilityAndLatencyDashboard.d.ts +1 -0
  20. package/lib/dashboards/ServiceAvailabilityAndLatencyDashboard.js +254 -25
  21. package/lib/dashboards/props/ServiceAvailabilityAndLatencyDashboardProps.d.ts +4 -10
  22. package/lib/dashboards/props/ServiceAvailabilityAndLatencyDashboardProps.js +1 -1
  23. package/lib/metrics/ApplicationLoadBalancerMetrics.d.ts +6 -0
  24. package/lib/metrics/ApplicationLoadBalancerMetrics.js +137 -9
  25. package/lib/metrics/AvailabilityAndLatencyMetrics.js +2 -1
  26. package/lib/metrics/RegionalAvailabilityMetrics.js +4 -5
  27. package/lib/monitoring/src/monitoring-layer.zip +0 -0
  28. package/lib/outlier-detection/OutlierDetectionFunction.js +2 -2
  29. package/lib/outlier-detection/src/outlier-detection.zip +0 -0
  30. package/lib/outlier-detection/src/scipy-layer.zip +0 -0
  31. package/lib/services/CanaryMetrics.js +1 -1
  32. package/lib/services/CanaryTestMetricsOverride.js +1 -1
  33. package/lib/services/ContributorInsightRuleDetails.js +1 -1
  34. package/lib/services/InstrumentedServiceMultiAZObservability.js +4 -5
  35. package/lib/services/Operation.js +1 -1
  36. package/lib/services/OperationMetricDetails.js +1 -1
  37. package/lib/services/Service.js +1 -1
  38. package/lib/services/ServiceMetricDetails.js +1 -1
  39. package/lib/services/props/InstrumentedServiceMultiAZObservabilityProps.d.ts +1 -1
  40. package/lib/services/props/InstrumentedServiceMultiAZObservabilityProps.js +1 -1
  41. package/lib/services/props/MetricDimensions.js +1 -1
  42. package/package.json +1 -1
package/.jsii CHANGED
@@ -4414,7 +4414,7 @@
4414
4414
  },
4415
4415
  "locationInModule": {
4416
4416
  "filename": "src/azmapper/AvailabilityZoneMapper.ts",
4417
- "line": 253
4417
+ "line": 249
4418
4418
  },
4419
4419
  "name": "allAvailabilityZoneIdsAsArray",
4420
4420
  "overrides": "@cdklabs/multi-az-observability.IAvailabilityZoneMapper",
@@ -4433,7 +4433,7 @@
4433
4433
  },
4434
4434
  "locationInModule": {
4435
4435
  "filename": "src/azmapper/AvailabilityZoneMapper.ts",
4436
- "line": 244
4436
+ "line": 240
4437
4437
  },
4438
4438
  "name": "allAvailabilityZoneIdsAsCommaDelimitedList",
4439
4439
  "overrides": "@cdklabs/multi-az-observability.IAvailabilityZoneMapper",
@@ -4452,7 +4452,7 @@
4452
4452
  },
4453
4453
  "locationInModule": {
4454
4454
  "filename": "src/azmapper/AvailabilityZoneMapper.ts",
4455
- "line": 273
4455
+ "line": 269
4456
4456
  },
4457
4457
  "name": "allAvailabilityZoneNamesAsCommaDelimitedList",
4458
4458
  "overrides": "@cdklabs/multi-az-observability.IAvailabilityZoneMapper",
@@ -4470,7 +4470,7 @@
4470
4470
  },
4471
4471
  "locationInModule": {
4472
4472
  "filename": "src/azmapper/AvailabilityZoneMapper.ts",
4473
- "line": 181
4473
+ "line": 177
4474
4474
  },
4475
4475
  "name": "availabilityZoneId",
4476
4476
  "overrides": "@cdklabs/multi-az-observability.IAvailabilityZoneMapper",
@@ -4496,7 +4496,7 @@
4496
4496
  },
4497
4497
  "locationInModule": {
4498
4498
  "filename": "src/azmapper/AvailabilityZoneMapper.ts",
4499
- "line": 263
4499
+ "line": 259
4500
4500
  },
4501
4501
  "name": "availabilityZoneIdFromAvailabilityZoneLetter",
4502
4502
  "overrides": "@cdklabs/multi-az-observability.IAvailabilityZoneMapper",
@@ -4522,7 +4522,7 @@
4522
4522
  },
4523
4523
  "locationInModule": {
4524
4524
  "filename": "src/azmapper/AvailabilityZoneMapper.ts",
4525
- "line": 209
4525
+ "line": 205
4526
4526
  },
4527
4527
  "name": "availabilityZoneIdsAsArray",
4528
4528
  "overrides": "@cdklabs/multi-az-observability.IAvailabilityZoneMapper",
@@ -4559,7 +4559,7 @@
4559
4559
  },
4560
4560
  "locationInModule": {
4561
4561
  "filename": "src/azmapper/AvailabilityZoneMapper.ts",
4562
- "line": 226
4562
+ "line": 222
4563
4563
  },
4564
4564
  "name": "availabilityZoneIdsAsCommaDelimitedList",
4565
4565
  "overrides": "@cdklabs/multi-az-observability.IAvailabilityZoneMapper",
@@ -4590,7 +4590,7 @@
4590
4590
  },
4591
4591
  "locationInModule": {
4592
4592
  "filename": "src/azmapper/AvailabilityZoneMapper.ts",
4593
- "line": 190
4593
+ "line": 186
4594
4594
  },
4595
4595
  "name": "availabilityZoneName",
4596
4596
  "overrides": "@cdklabs/multi-az-observability.IAvailabilityZoneMapper",
@@ -4616,7 +4616,7 @@
4616
4616
  },
4617
4617
  "locationInModule": {
4618
4618
  "filename": "src/azmapper/AvailabilityZoneMapper.ts",
4619
- "line": 199
4619
+ "line": 195
4620
4620
  },
4621
4621
  "name": "regionPrefixForAvailabilityZoneIds",
4622
4622
  "overrides": "@cdklabs/multi-az-observability.IAvailabilityZoneMapper",
@@ -7342,13 +7342,28 @@
7342
7342
  "abstract": true,
7343
7343
  "docs": {
7344
7344
  "stability": "experimental",
7345
- "summary": "An alarm for fault count exceeding a regional threshold for all critical operations."
7345
+ "summary": "An alarm indicating there is availability or latency impact on a critical operation that is not scoped to a single availability zone as measured by the server-side and/or canary (if present)."
7346
7346
  },
7347
7347
  "locationInModule": {
7348
7348
  "filename": "src/alarmsandrules/IServiceAlarmsAndRules.ts",
7349
- "line": 43
7349
+ "line": 40
7350
+ },
7351
+ "name": "regionalImpactAlarm",
7352
+ "type": {
7353
+ "fqn": "aws-cdk-lib.aws_cloudwatch.IAlarm"
7354
+ }
7355
+ },
7356
+ {
7357
+ "abstract": true,
7358
+ "docs": {
7359
+ "stability": "experimental",
7360
+ "summary": "An alarm indicating there is availability or latency impact on a critical operation that is not scoped to a single availability zone as measured by the server-side."
7350
7361
  },
7351
- "name": "regionalFaultCountServerSideAlarm",
7362
+ "locationInModule": {
7363
+ "filename": "src/alarmsandrules/IServiceAlarmsAndRules.ts",
7364
+ "line": 46
7365
+ },
7366
+ "name": "regionalServerSideImpactAlarm",
7352
7367
  "type": {
7353
7368
  "fqn": "aws-cdk-lib.aws_cloudwatch.IAlarm"
7354
7369
  }
@@ -7368,6 +7383,22 @@
7368
7383
  "fqn": "@cdklabs/multi-az-observability.IService"
7369
7384
  }
7370
7385
  },
7386
+ {
7387
+ "abstract": true,
7388
+ "docs": {
7389
+ "remarks": "It triggers\non any impact to a critical operation either zonally scoped or regionally scoped.",
7390
+ "stability": "experimental",
7391
+ "summary": "This is the top level alarm you should tie notifications/paging/alerting to."
7392
+ },
7393
+ "locationInModule": {
7394
+ "filename": "src/alarmsandrules/IServiceAlarmsAndRules.ts",
7395
+ "line": 52
7396
+ },
7397
+ "name": "serviceImpactAlarm",
7398
+ "type": {
7399
+ "fqn": "aws-cdk-lib.aws_cloudwatch.IAlarm"
7400
+ }
7401
+ },
7371
7402
  {
7372
7403
  "abstract": true,
7373
7404
  "docs": {
@@ -7392,7 +7423,7 @@
7392
7423
  {
7393
7424
  "abstract": true,
7394
7425
  "docs": {
7395
- "remarks": "There is 1 alarm per AZ that triggers\non availability or atency impact to any critical operation in that AZ. These are useful\nfor deployment monitoring to not inadvertently fail when a canary can't contact an AZ\nduring a deployment.",
7426
+ "remarks": "There is 1 alarm per AZ that triggers\non availability or latency impact to any critical operation in that AZ. These are useful\nfor deployment monitoring to not inadvertently fail when a canary can't contact an AZ\nduring a deployment.",
7396
7427
  "stability": "experimental",
7397
7428
  "summary": "The zonal server-side isolated impact alarms."
7398
7429
  },
@@ -7414,29 +7445,13 @@
7414
7445
  "abstract": true,
7415
7446
  "docs": {
7416
7447
  "stability": "experimental",
7417
- "summary": "An alarm for regional availability impact of any critical operation as measured by the canary."
7448
+ "summary": "An alarm indicating the canary has discovered an availability or latency impact on a critical operation while testing the regional endpoint."
7418
7449
  },
7419
7450
  "locationInModule": {
7420
7451
  "filename": "src/alarmsandrules/IServiceAlarmsAndRules.ts",
7421
- "line": 38
7422
- },
7423
- "name": "regionalAvailabilityCanaryAlarm",
7424
- "optional": true,
7425
- "type": {
7426
- "fqn": "aws-cdk-lib.aws_cloudwatch.IAlarm"
7427
- }
7428
- },
7429
- {
7430
- "abstract": true,
7431
- "docs": {
7432
- "stability": "experimental",
7433
- "summary": "An alarm for regional availability or latency impact of any critical operation as measured by the canary."
7434
- },
7435
- "locationInModule": {
7436
- "filename": "src/alarmsandrules/IServiceAlarmsAndRules.ts",
7437
- "line": 33
7452
+ "line": 34
7438
7453
  },
7439
- "name": "regionalAvailabilityOrLatencyCanaryAlarm",
7454
+ "name": "regionalCanaryAlarm",
7440
7455
  "optional": true,
7441
7456
  "type": {
7442
7457
  "fqn": "aws-cdk-lib.aws_cloudwatch.IAlarm"
@@ -7955,7 +7970,7 @@
7955
7970
  "abstract": true,
7956
7971
  "docs": {
7957
7972
  "default": "- Depends on the outlier detection algorithm selected",
7958
- "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: 2\nIQR: 1.5\nMAD: 3",
7973
+ "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",
7959
7974
  "stability": "experimental",
7960
7975
  "summary": "The outlier threshold for determining if an AZ is an outlier for latency or faults."
7961
7976
  },
@@ -10387,6 +10402,6 @@
10387
10402
  "symbolId": "src/services/props/ServiceProps:ServiceProps"
10388
10403
  }
10389
10404
  },
10390
- "version": "0.0.1-alpha.34",
10391
- "fingerprint": "aKp4DM9gnD7DGI8TTLCtrtzOAehmBkttZQ0qD34S4vA="
10405
+ "version": "0.0.1-alpha.36",
10406
+ "fingerprint": "fi25O9TgC6vdI8X8T1IFXrQy0PhDUFqy/9L/xaRDe6k="
10392
10407
  }
package/API.md CHANGED
@@ -1517,7 +1517,7 @@ standard for Z_SCORE.
1517
1517
  Standard defaults based on the outlier detection algorithm:
1518
1518
  STATIC: 0.7
1519
1519
  CHI_SQUARED: 0.05
1520
- Z_SCORE: 2
1520
+ Z_SCORE: 3
1521
1521
  IQR: 1.5
1522
1522
  MAD: 3
1523
1523
 
@@ -4893,24 +4893,37 @@ Service level alarms and rules using critical operations.
4893
4893
 
4894
4894
  | **Name** | **Type** | **Description** |
4895
4895
  | --- | --- | --- |
4896
- | <code><a href="#@cdklabs/multi-az-observability.IServiceAlarmsAndRules.property.regionalFaultCountServerSideAlarm">regionalFaultCountServerSideAlarm</a></code> | <code>aws-cdk-lib.aws_cloudwatch.IAlarm</code> | An alarm for fault count exceeding a regional threshold for all critical operations. |
4896
+ | <code><a href="#@cdklabs/multi-az-observability.IServiceAlarmsAndRules.property.regionalImpactAlarm">regionalImpactAlarm</a></code> | <code>aws-cdk-lib.aws_cloudwatch.IAlarm</code> | An alarm indicating there is availability or latency impact on a critical operation that is not scoped to a single availability zone as measured by the server-side and/or canary (if present). |
4897
+ | <code><a href="#@cdklabs/multi-az-observability.IServiceAlarmsAndRules.property.regionalServerSideImpactAlarm">regionalServerSideImpactAlarm</a></code> | <code>aws-cdk-lib.aws_cloudwatch.IAlarm</code> | An alarm indicating there is availability or latency impact on a critical operation that is not scoped to a single availability zone as measured by the server-side. |
4897
4898
  | <code><a href="#@cdklabs/multi-az-observability.IServiceAlarmsAndRules.property.service">service</a></code> | <code><a href="#@cdklabs/multi-az-observability.IService">IService</a></code> | The service these alarms and rules are for. |
4899
+ | <code><a href="#@cdklabs/multi-az-observability.IServiceAlarmsAndRules.property.serviceImpactAlarm">serviceImpactAlarm</a></code> | <code>aws-cdk-lib.aws_cloudwatch.IAlarm</code> | This is the top level alarm you should tie notifications/paging/alerting to. |
4898
4900
  | <code><a href="#@cdklabs/multi-az-observability.IServiceAlarmsAndRules.property.zonalAggregateIsolatedImpactAlarms">zonalAggregateIsolatedImpactAlarms</a></code> | <code>{[ key: string ]: aws-cdk-lib.aws_cloudwatch.IAlarm}</code> | The zonal aggregate isolated impact alarms. |
4899
4901
  | <code><a href="#@cdklabs/multi-az-observability.IServiceAlarmsAndRules.property.zonalServerSideIsolatedImpactAlarms">zonalServerSideIsolatedImpactAlarms</a></code> | <code>{[ key: string ]: aws-cdk-lib.aws_cloudwatch.IAlarm}</code> | The zonal server-side isolated impact alarms. |
4900
- | <code><a href="#@cdklabs/multi-az-observability.IServiceAlarmsAndRules.property.regionalAvailabilityCanaryAlarm">regionalAvailabilityCanaryAlarm</a></code> | <code>aws-cdk-lib.aws_cloudwatch.IAlarm</code> | An alarm for regional availability impact of any critical operation as measured by the canary. |
4901
- | <code><a href="#@cdklabs/multi-az-observability.IServiceAlarmsAndRules.property.regionalAvailabilityOrLatencyCanaryAlarm">regionalAvailabilityOrLatencyCanaryAlarm</a></code> | <code>aws-cdk-lib.aws_cloudwatch.IAlarm</code> | An alarm for regional availability or latency impact of any critical operation as measured by the canary. |
4902
+ | <code><a href="#@cdklabs/multi-az-observability.IServiceAlarmsAndRules.property.regionalCanaryAlarm">regionalCanaryAlarm</a></code> | <code>aws-cdk-lib.aws_cloudwatch.IAlarm</code> | An alarm indicating the canary has discovered an availability or latency impact on a critical operation while testing the regional endpoint. |
4902
4903
 
4903
4904
  ---
4904
4905
 
4905
- ##### `regionalFaultCountServerSideAlarm`<sup>Required</sup> <a name="regionalFaultCountServerSideAlarm" id="@cdklabs/multi-az-observability.IServiceAlarmsAndRules.property.regionalFaultCountServerSideAlarm"></a>
4906
+ ##### `regionalImpactAlarm`<sup>Required</sup> <a name="regionalImpactAlarm" id="@cdklabs/multi-az-observability.IServiceAlarmsAndRules.property.regionalImpactAlarm"></a>
4906
4907
 
4907
4908
  ```typescript
4908
- public readonly regionalFaultCountServerSideAlarm: IAlarm;
4909
+ public readonly regionalImpactAlarm: IAlarm;
4909
4910
  ```
4910
4911
 
4911
4912
  - *Type:* aws-cdk-lib.aws_cloudwatch.IAlarm
4912
4913
 
4913
- An alarm for fault count exceeding a regional threshold for all critical operations.
4914
+ An alarm indicating there is availability or latency impact on a critical operation that is not scoped to a single availability zone as measured by the server-side and/or canary (if present).
4915
+
4916
+ ---
4917
+
4918
+ ##### `regionalServerSideImpactAlarm`<sup>Required</sup> <a name="regionalServerSideImpactAlarm" id="@cdklabs/multi-az-observability.IServiceAlarmsAndRules.property.regionalServerSideImpactAlarm"></a>
4919
+
4920
+ ```typescript
4921
+ public readonly regionalServerSideImpactAlarm: IAlarm;
4922
+ ```
4923
+
4924
+ - *Type:* aws-cdk-lib.aws_cloudwatch.IAlarm
4925
+
4926
+ An alarm indicating there is availability or latency impact on a critical operation that is not scoped to a single availability zone as measured by the server-side.
4914
4927
 
4915
4928
  ---
4916
4929
 
@@ -4926,6 +4939,21 @@ The service these alarms and rules are for.
4926
4939
 
4927
4940
  ---
4928
4941
 
4942
+ ##### `serviceImpactAlarm`<sup>Required</sup> <a name="serviceImpactAlarm" id="@cdklabs/multi-az-observability.IServiceAlarmsAndRules.property.serviceImpactAlarm"></a>
4943
+
4944
+ ```typescript
4945
+ public readonly serviceImpactAlarm: IAlarm;
4946
+ ```
4947
+
4948
+ - *Type:* aws-cdk-lib.aws_cloudwatch.IAlarm
4949
+
4950
+ This is the top level alarm you should tie notifications/paging/alerting to.
4951
+
4952
+ It triggers
4953
+ on any impact to a critical operation either zonally scoped or regionally scoped.
4954
+
4955
+ ---
4956
+
4929
4957
  ##### `zonalAggregateIsolatedImpactAlarms`<sup>Required</sup> <a name="zonalAggregateIsolatedImpactAlarms" id="@cdklabs/multi-az-observability.IServiceAlarmsAndRules.property.zonalAggregateIsolatedImpactAlarms"></a>
4930
4958
 
4931
4959
  ```typescript
@@ -4953,33 +4981,21 @@ public readonly zonalServerSideIsolatedImpactAlarms: {[ key: string ]: IAlarm};
4953
4981
  The zonal server-side isolated impact alarms.
4954
4982
 
4955
4983
  There is 1 alarm per AZ that triggers
4956
- on availability or atency impact to any critical operation in that AZ. These are useful
4984
+ on availability or latency impact to any critical operation in that AZ. These are useful
4957
4985
  for deployment monitoring to not inadvertently fail when a canary can't contact an AZ
4958
4986
  during a deployment.
4959
4987
 
4960
4988
  ---
4961
4989
 
4962
- ##### `regionalAvailabilityCanaryAlarm`<sup>Optional</sup> <a name="regionalAvailabilityCanaryAlarm" id="@cdklabs/multi-az-observability.IServiceAlarmsAndRules.property.regionalAvailabilityCanaryAlarm"></a>
4963
-
4964
- ```typescript
4965
- public readonly regionalAvailabilityCanaryAlarm: IAlarm;
4966
- ```
4967
-
4968
- - *Type:* aws-cdk-lib.aws_cloudwatch.IAlarm
4969
-
4970
- An alarm for regional availability impact of any critical operation as measured by the canary.
4971
-
4972
- ---
4973
-
4974
- ##### `regionalAvailabilityOrLatencyCanaryAlarm`<sup>Optional</sup> <a name="regionalAvailabilityOrLatencyCanaryAlarm" id="@cdklabs/multi-az-observability.IServiceAlarmsAndRules.property.regionalAvailabilityOrLatencyCanaryAlarm"></a>
4990
+ ##### `regionalCanaryAlarm`<sup>Optional</sup> <a name="regionalCanaryAlarm" id="@cdklabs/multi-az-observability.IServiceAlarmsAndRules.property.regionalCanaryAlarm"></a>
4975
4991
 
4976
4992
  ```typescript
4977
- public readonly regionalAvailabilityOrLatencyCanaryAlarm: IAlarm;
4993
+ public readonly regionalCanaryAlarm: IAlarm;
4978
4994
  ```
4979
4995
 
4980
4996
  - *Type:* aws-cdk-lib.aws_cloudwatch.IAlarm
4981
4997
 
4982
- An alarm for regional availability or latency impact of any critical operation as measured by the canary.
4998
+ An alarm indicating the canary has discovered an availability or latency impact on a critical operation while testing the regional endpoint.
4983
4999
 
4984
5000
  ---
4985
5001