@cdklabs/multi-az-observability 0.0.1-alpha.3 → 0.0.1-alpha.31
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 +374 -147
- package/API.md +292 -100
- package/README.md +21 -14
- package/cdk.json +1 -1
- package/lib/alarmsandrules/AvailabilityAndLatencyAlarmsAndRules.d.ts +7 -7
- package/lib/alarmsandrules/AvailabilityAndLatencyAlarmsAndRules.js +35 -35
- package/lib/alarmsandrules/BaseOperationRegionalAlarmsAndRules.js +2 -2
- package/lib/alarmsandrules/BaseOperationZonalAlarmsAndRules.d.ts +6 -15
- package/lib/alarmsandrules/BaseOperationZonalAlarmsAndRules.js +2 -10
- package/lib/alarmsandrules/CanaryOperationZonalAlarmsAndRules.d.ts +11 -3
- package/lib/alarmsandrules/CanaryOperationZonalAlarmsAndRules.js +24 -13
- package/lib/alarmsandrules/IBaseOperationZonalAlarmsAndRules.d.ts +0 -8
- package/lib/alarmsandrules/IBaseOperationZonalAlarmsAndRules.js +1 -1
- package/lib/alarmsandrules/IOperationAlarmsAndRules.d.ts +19 -27
- package/lib/alarmsandrules/IOperationAlarmsAndRules.js +1 -1
- package/lib/alarmsandrules/IServerSideOperationRegionalAlarmsAndRules.js +1 -1
- package/lib/alarmsandrules/IServiceAlarmsAndRules.d.ts +0 -8
- package/lib/alarmsandrules/IServiceAlarmsAndRules.js +1 -1
- package/lib/alarmsandrules/OperationAlarmsAndRules.d.ts +14 -22
- package/lib/alarmsandrules/OperationAlarmsAndRules.js +51 -71
- package/lib/alarmsandrules/ServerSideOperationRegionalAlarmsAndRules.d.ts +5 -5
- package/lib/alarmsandrules/ServerSideOperationRegionalAlarmsAndRules.js +2 -3
- package/lib/alarmsandrules/ServerSideOperationZonalAlarmsAndRules.d.ts +21 -13
- package/lib/alarmsandrules/ServerSideOperationZonalAlarmsAndRules.js +43 -29
- package/lib/alarmsandrules/ServiceAlarmsAndRules.d.ts +0 -2
- package/lib/alarmsandrules/ServiceAlarmsAndRules.js +61 -39
- package/lib/alarmsandrules/props/BaseOperationZonalAlarmsAndRulesProps.d.ts +6 -44
- package/lib/alarmsandrules/props/BaseOperationZonalAlarmsAndRulesProps.js +1 -1
- package/lib/alarmsandrules/props/OperationAlarmsAndRulesProps.d.ts +28 -7
- package/lib/alarmsandrules/props/OperationAlarmsAndRulesProps.js +1 -1
- package/lib/azmapper/AvailabilityZoneMapper.js +4 -3
- package/lib/basic_observability/BasicServiceDashboard.d.ts +0 -3
- package/lib/basic_observability/BasicServiceDashboard.js +24 -112
- package/lib/basic_observability/BasicServiceMultiAZObservability.d.ts +8 -9
- package/lib/basic_observability/BasicServiceMultiAZObservability.js +100 -312
- package/lib/basic_observability/props/ApplicationLoadBalancerDetectionProps.d.ts +50 -0
- package/lib/basic_observability/props/ApplicationLoadBalancerDetectionProps.js +3 -0
- package/lib/basic_observability/props/BasicServiceDashboardProps.d.ts +27 -13
- package/lib/basic_observability/props/BasicServiceDashboardProps.js +1 -1
- package/lib/basic_observability/props/BasicServiceMultiAZObservabilityProps.d.ts +10 -38
- package/lib/basic_observability/props/BasicServiceMultiAZObservabilityProps.js +1 -1
- package/lib/basic_observability/props/NatGatewayDetectionProps.d.ts +31 -0
- package/lib/basic_observability/props/NatGatewayDetectionProps.js +3 -0
- package/lib/canaries/CanaryFunction.js +7 -6
- package/lib/canaries/src/canary.zip +0 -0
- package/lib/dashboards/OperationAvailabilityAndLatencyDashboard.d.ts +2 -6
- package/lib/dashboards/OperationAvailabilityAndLatencyDashboard.js +440 -506
- package/lib/dashboards/ServiceAvailabilityAndLatencyDashboard.d.ts +0 -1
- package/lib/dashboards/ServiceAvailabilityAndLatencyDashboard.js +56 -113
- package/lib/dashboards/props/OperationAvailabilityAndLatencyDashboardProps.d.ts +3 -66
- package/lib/dashboards/props/OperationAvailabilityAndLatencyDashboardProps.js +1 -1
- package/lib/dashboards/props/OperationAvailabilityWidgetProps.d.ts +7 -2
- package/lib/dashboards/props/OperationAvailabilityWidgetProps.js +1 -1
- package/lib/dashboards/props/OperationLatencyWidgetProps.d.ts +7 -2
- package/lib/dashboards/props/OperationLatencyWidgetProps.js +1 -1
- package/lib/index.d.ts +5 -0
- package/lib/index.js +8 -2
- package/lib/metrics/ApplicationLoadBalancerMetrics.d.ts +72 -4
- package/lib/metrics/ApplicationLoadBalancerMetrics.js +671 -33
- package/lib/metrics/AvailabilityAndLatencyMetrics.d.ts +23 -0
- package/lib/metrics/AvailabilityAndLatencyMetrics.js +117 -24
- package/lib/metrics/NatGatewayMetrics.d.ts +113 -0
- package/lib/metrics/NatGatewayMetrics.js +357 -0
- package/lib/metrics/RegionalLatencyMetrics.d.ts +1 -1
- package/lib/metrics/RegionalLatencyMetrics.js +27 -20
- package/lib/metrics/ZonalAvailabilityMetrics.d.ts +2 -8
- package/lib/metrics/ZonalAvailabilityMetrics.js +10 -25
- package/lib/metrics/ZonalLatencyMetrics.d.ts +2 -1
- package/lib/metrics/ZonalLatencyMetrics.js +33 -23
- package/lib/metrics/props/AvailabilityAndLatencyMetricProps.d.ts +4 -0
- package/lib/metrics/props/AvailabilityAndLatencyMetricProps.js +1 -1
- package/lib/metrics/props/LatencyMetricProps.d.ts +6 -0
- package/lib/metrics/props/LatencyMetricProps.js +1 -1
- package/lib/metrics/props/ZonalAvailabilityMetricProps.d.ts +4 -0
- package/lib/metrics/props/ZonalAvailabilityMetricProps.js +1 -1
- package/lib/metrics/props/ZonalLatencyMetricProps.d.ts +4 -0
- package/lib/metrics/props/ZonalLatencyMetricProps.js +1 -1
- package/lib/monitoring/src/monitoring-layer.zip +0 -0
- package/lib/outlier-detection/ApplicationLoadBalancerAvailabilityOutlierAlgorithm.d.ts +10 -0
- package/lib/outlier-detection/ApplicationLoadBalancerAvailabilityOutlierAlgorithm.js +15 -0
- package/lib/outlier-detection/ApplicationLoadBalancerLatencyOutlierAlgorithm.d.ts +18 -0
- package/lib/outlier-detection/ApplicationLoadBalancerLatencyOutlierAlgorithm.js +23 -0
- package/lib/outlier-detection/OutlierDetectionFunction.js +6 -5
- package/lib/outlier-detection/PacketLossOutlierAlgorithm.d.ts +10 -0
- package/lib/outlier-detection/PacketLossOutlierAlgorithm.js +15 -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/CanaryTestMetricsOverride.js +1 -1
- package/lib/services/ContributorInsightRuleDetails.js +1 -1
- package/lib/services/InstrumentedServiceMultiAZObservability.d.ts +10 -0
- package/lib/services/InstrumentedServiceMultiAZObservability.js +188 -194
- 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/MetricsHelper.d.ts +15 -10
- package/lib/utilities/MetricsHelper.js +19 -11
- package/package.json +8 -8
|
@@ -1,82 +1,19 @@
|
|
|
1
1
|
import { Duration } from 'aws-cdk-lib';
|
|
2
|
-
import { IAlarm, CfnInsightRule } from 'aws-cdk-lib/aws-cloudwatch';
|
|
3
|
-
import { ILoadBalancerV2 } from 'aws-cdk-lib/aws-elasticloadbalancingv2';
|
|
4
2
|
import { IAvailabilityZoneMapper } from '../../azmapper/IAvailabilityZoneMapper';
|
|
5
|
-
import {
|
|
3
|
+
import { IOperationAlarmsAndRules } from '../../alarmsandrules/IOperationAlarmsAndRules';
|
|
6
4
|
/**
|
|
7
5
|
* Properties for creating an availability and latency dashboard for
|
|
8
6
|
* a single operation
|
|
9
7
|
*/
|
|
10
8
|
export interface OperationAvailabilityAndLatencyDashboardProps {
|
|
11
|
-
/**
|
|
12
|
-
* The operation for this dashboard
|
|
13
|
-
*/
|
|
14
|
-
readonly operation: IOperation;
|
|
15
9
|
/**
|
|
16
10
|
* The interval of the dashboard
|
|
17
11
|
*/
|
|
18
12
|
readonly interval: Duration;
|
|
19
13
|
/**
|
|
20
|
-
* The
|
|
21
|
-
* provided, no load balancer metrics will be shown
|
|
22
|
-
*
|
|
23
|
-
* @default - No load balancer metrics will be shown on the dashboard
|
|
24
|
-
*/
|
|
25
|
-
readonly loadBalancer?: ILoadBalancerV2;
|
|
26
|
-
/**
|
|
27
|
-
* Per AZ server-side availability alarms
|
|
28
|
-
*/
|
|
29
|
-
readonly zonalEndpointServerAvailabilityAlarms: IAlarm[];
|
|
30
|
-
/**
|
|
31
|
-
* Per AZ server-side latency alarms
|
|
32
|
-
*/
|
|
33
|
-
readonly zonalEndpointServerLatencyAlarms: IAlarm[];
|
|
34
|
-
/**
|
|
35
|
-
* Per AZ canary availability alarms
|
|
36
|
-
*/
|
|
37
|
-
readonly zonalEndpointCanaryAvailabilityAlarms?: IAlarm[];
|
|
38
|
-
/**
|
|
39
|
-
* Per AZ canary latency alarms
|
|
40
|
-
*/
|
|
41
|
-
readonly zonalEndpointCanaryLatencyAlarms?: IAlarm[];
|
|
42
|
-
/**
|
|
43
|
-
* Regional server-side availability alarm
|
|
44
|
-
*/
|
|
45
|
-
readonly regionalEndpointServerAvailabilityAlarm: IAlarm;
|
|
46
|
-
/**
|
|
47
|
-
* Regional server-side latency alarm
|
|
48
|
-
*/
|
|
49
|
-
readonly regionalEndpointServerLatencyAlarm: IAlarm;
|
|
50
|
-
/**
|
|
51
|
-
* Regional canary availability alarm
|
|
52
|
-
*/
|
|
53
|
-
readonly regionalEndpointCanaryAvailabilityAlarm?: IAlarm;
|
|
54
|
-
/**
|
|
55
|
-
* Regional canary latency alarm
|
|
56
|
-
*/
|
|
57
|
-
readonly regionalEndpointCanaryLatencyAlarm?: IAlarm;
|
|
58
|
-
/**
|
|
59
|
-
* Per AZ alarms that indicate isolated single AZ impact
|
|
60
|
-
*/
|
|
61
|
-
readonly isolatedAZImpactAlarms: IAlarm[];
|
|
62
|
-
/**
|
|
63
|
-
* Alarm that indicates regional impact
|
|
64
|
-
*/
|
|
65
|
-
readonly regionalImpactAlarm: IAlarm;
|
|
66
|
-
/**
|
|
67
|
-
* Insight rule that shows instance contributors to
|
|
68
|
-
* high latency for this operation
|
|
69
|
-
*
|
|
70
|
-
* @default - Insight rule will not be shown on the dashboard
|
|
71
|
-
*/
|
|
72
|
-
readonly instanceContributorsToHighLatency?: CfnInsightRule;
|
|
73
|
-
/**
|
|
74
|
-
* Insight rule that shows instance contributors to
|
|
75
|
-
* faults for this operation
|
|
76
|
-
*
|
|
77
|
-
* @default - Insight rule will not be shown on the dashboard
|
|
14
|
+
* The per-operation alarms and rules for this dashboard
|
|
78
15
|
*/
|
|
79
|
-
readonly
|
|
16
|
+
readonly operationAlarmsAndRules: IOperationAlarmsAndRules;
|
|
80
17
|
/**
|
|
81
18
|
* The AZ Mapper
|
|
82
19
|
*/
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3BlcmF0aW9uQXZhaWxhYmlsaXR5QW5kTGF0ZW5jeURhc2hib2FyZFByb3BzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2Rhc2hib2FyZHMvcHJvcHMvT3BlcmF0aW9uQXZhaWxhYmlsaXR5QW5kTGF0ZW5jeURhc2hib2FyZFByb3BzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5pbXBvcnQgeyBEdXJhdGlvbiB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IElBdmFpbGFiaWxpdHlab25lTWFwcGVyIH0gZnJvbSAnLi4vLi4vYXptYXBwZXIvSUF2YWlsYWJpbGl0eVpvbmVNYXBwZXInO1xuaW1wb3J0IHsgSU9wZXJhdGlvbkFsYXJtc0FuZFJ1bGVzIH0gZnJvbSAnLi4vLi4vYWxhcm1zYW5kcnVsZXMvSU9wZXJhdGlvbkFsYXJtc0FuZFJ1bGVzJztcblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBjcmVhdGluZyBhbiBhdmFpbGFiaWxpdHkgYW5kIGxhdGVuY3kgZGFzaGJvYXJkIGZvclxuICogYSBzaW5nbGUgb3BlcmF0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT3BlcmF0aW9uQXZhaWxhYmlsaXR5QW5kTGF0ZW5jeURhc2hib2FyZFByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBpbnRlcnZhbCBvZiB0aGUgZGFzaGJvYXJkXG4gICAqL1xuICByZWFkb25seSBpbnRlcnZhbDogRHVyYXRpb247XG5cbiAgLyoqXG4gICAqIFRoZSBwZXItb3BlcmF0aW9uIGFsYXJtcyBhbmQgcnVsZXMgZm9yIHRoaXMgZGFzaGJvYXJkXG4gICAqL1xuICByZWFkb25seSBvcGVyYXRpb25BbGFybXNBbmRSdWxlczogSU9wZXJhdGlvbkFsYXJtc0FuZFJ1bGVzO1xuXG4gIC8qKlxuICAgKiBUaGUgQVogTWFwcGVyXG4gICAqL1xuICByZWFkb25seSBhek1hcHBlcjogSUF2YWlsYWJpbGl0eVpvbmVNYXBwZXI7XG59XG4iXX0=
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { IAlarm, CfnInsightRule } from 'aws-cdk-lib/aws-cloudwatch';
|
|
2
2
|
import { IOperation } from '../../services/IOperation';
|
|
3
3
|
import { IOperationMetricDetails } from '../../services/IOperationMetricDetails';
|
|
4
|
+
import { IAvailabilityZoneMapper } from '../../azmapper/IAvailabilityZoneMapper';
|
|
4
5
|
/**
|
|
5
6
|
* Props for creating operation dashboard availability and latency widgets
|
|
6
7
|
*/
|
|
@@ -14,9 +15,9 @@ export interface OperationAvailabilityWidgetProps {
|
|
|
14
15
|
*/
|
|
15
16
|
readonly availabilityMetricDetails: IOperationMetricDetails;
|
|
16
17
|
/**
|
|
17
|
-
* The
|
|
18
|
+
* The Availability Zone names being used
|
|
18
19
|
*/
|
|
19
|
-
readonly
|
|
20
|
+
readonly availabilityZones: string[];
|
|
20
21
|
/**
|
|
21
22
|
* An alarm per AZ for availability
|
|
22
23
|
*/
|
|
@@ -34,4 +35,8 @@ export interface OperationAvailabilityWidgetProps {
|
|
|
34
35
|
* Is this widget for the canary metrics
|
|
35
36
|
*/
|
|
36
37
|
readonly isCanary: boolean;
|
|
38
|
+
/**
|
|
39
|
+
* The AZ Mapper
|
|
40
|
+
*/
|
|
41
|
+
readonly azMapper: IAvailabilityZoneMapper;
|
|
37
42
|
}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3BlcmF0aW9uQXZhaWxhYmlsaXR5V2lkZ2V0UHJvcHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZGFzaGJvYXJkcy9wcm9wcy9PcGVyYXRpb25BdmFpbGFiaWxpdHlXaWRnZXRQcm9wcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuaW1wb3J0IHsgSUFsYXJtLCBDZm5JbnNpZ2h0UnVsZSB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1jbG91ZHdhdGNoJztcbmltcG9ydCB7IElPcGVyYXRpb24gfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9JT3BlcmF0aW9uJztcbmltcG9ydCB7IElPcGVyYXRpb25NZXRyaWNEZXRhaWxzIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvSU9wZXJhdGlvbk1ldHJpY0RldGFpbHMnO1xuaW1wb3J0IHsgSUF2YWlsYWJpbGl0eVpvbmVNYXBwZXIgfSBmcm9tICcuLi8uLi9hem1hcHBlci9JQXZhaWxhYmlsaXR5Wm9uZU1hcHBlcic7XG5cbi8qKlxuICogUHJvcHMgZm9yIGNyZWF0aW5nIG9wZXJhdGlvbiBkYXNoYm9hcmQgYXZhaWxhYmlsaXR5IGFuZCBsYXRlbmN5IHdpZGdldHNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBPcGVyYXRpb25BdmFpbGFiaWxpdHlXaWRnZXRQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgb3BlcmF0aW9uIGZvciB0aGlzIHdpZGdldFxuICAgKi9cbiAgcmVhZG9ubHkgb3BlcmF0aW9uOiBJT3BlcmF0aW9uO1xuXG4gIC8qKlxuICAgKiBUaGUgYXZhaWxhYmlsaXR5IG1ldHJpYyBkZXRhaWxzXG4gICAqL1xuICByZWFkb25seSBhdmFpbGFiaWxpdHlNZXRyaWNEZXRhaWxzOiBJT3BlcmF0aW9uTWV0cmljRGV0YWlscztcblxuICAvKipcbiAgICogVGhlIEF2YWlsYWJpbGl0eSBab25lIG5hbWVzIGJlaW5nIHVzZWRcbiAgICovXG4gIHJlYWRvbmx5IGF2YWlsYWJpbGl0eVpvbmVzOiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogQW4gYWxhcm0gcGVyIEFaIGZvciBhdmFpbGFiaWxpdHlcbiAgICovXG4gIHJlYWRvbmx5IHpvbmFsRW5kcG9pbnRBdmFpbGFiaWxpdHlBbGFybXM6IElBbGFybVtdO1xuXG4gIC8qKlxuICAgKiBUaGUgcmVnaW9uYWwgZW5kcG9pbnQgYXZhaWxhYmlsaXR5IGFsYXJtXG4gICAqL1xuICByZWFkb25seSByZWdpb25hbEVuZHBvaW50QXZhaWxhYmlsaXR5QWxhcm06IElBbGFybTtcblxuICAvKipcbiAgICogSW5zdGFuY2UgY29udHJpYnV0b3JzIHRvIGZhdWx0cywgb25seSBzZXQgZm9yXG4gICAqIHNlcnZlci1zaWRlIHdpZGdldHNcbiAgICovXG4gIHJlYWRvbmx5IGluc3RhbmNlQ29udHJpYnV0b3JzVG9GYXVsdHM/OiBDZm5JbnNpZ2h0UnVsZTtcblxuICAvKipcbiAgICogSXMgdGhpcyB3aWRnZXQgZm9yIHRoZSBjYW5hcnkgbWV0cmljc1xuICAgKi9cbiAgcmVhZG9ubHkgaXNDYW5hcnk6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSBBWiBNYXBwZXJcbiAgICovXG4gIHJlYWRvbmx5IGF6TWFwcGVyOiBJQXZhaWxhYmlsaXR5Wm9uZU1hcHBlcjtcbn1cbiJdfQ==
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { IAlarm, CfnInsightRule } from 'aws-cdk-lib/aws-cloudwatch';
|
|
2
2
|
import { IOperation } from '../../services/IOperation';
|
|
3
3
|
import { IOperationMetricDetails } from '../../services/IOperationMetricDetails';
|
|
4
|
+
import { IAvailabilityZoneMapper } from '../../azmapper/IAvailabilityZoneMapper';
|
|
4
5
|
/**
|
|
5
6
|
* Props for creating operation dashboard availability and latency widgets
|
|
6
7
|
*/
|
|
@@ -14,9 +15,9 @@ export interface OperationLatencyWidgetProps {
|
|
|
14
15
|
*/
|
|
15
16
|
readonly latencyMetricDetails: IOperationMetricDetails;
|
|
16
17
|
/**
|
|
17
|
-
* The
|
|
18
|
+
* The Availability Zones being used
|
|
18
19
|
*/
|
|
19
|
-
readonly
|
|
20
|
+
readonly availabilityZones: string[];
|
|
20
21
|
/**
|
|
21
22
|
* An alarm per AZ for latency
|
|
22
23
|
*/
|
|
@@ -34,4 +35,8 @@ export interface OperationLatencyWidgetProps {
|
|
|
34
35
|
* Is this widget for the canary metrics
|
|
35
36
|
*/
|
|
36
37
|
readonly isCanary: boolean;
|
|
38
|
+
/**
|
|
39
|
+
* The AZ Mapper to use
|
|
40
|
+
*/
|
|
41
|
+
readonly azMapper: IAvailabilityZoneMapper;
|
|
37
42
|
}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3BlcmF0aW9uTGF0ZW5jeVdpZGdldFByb3BzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2Rhc2hib2FyZHMvcHJvcHMvT3BlcmF0aW9uTGF0ZW5jeVdpZGdldFByb3BzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5pbXBvcnQgeyBJQWxhcm0sIENmbkluc2lnaHRSdWxlIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWNsb3Vkd2F0Y2gnO1xuaW1wb3J0IHsgSU9wZXJhdGlvbiB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL0lPcGVyYXRpb24nO1xuaW1wb3J0IHsgSU9wZXJhdGlvbk1ldHJpY0RldGFpbHMgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9JT3BlcmF0aW9uTWV0cmljRGV0YWlscyc7XG5pbXBvcnQgeyBJQXZhaWxhYmlsaXR5Wm9uZU1hcHBlciB9IGZyb20gJy4uLy4uL2F6bWFwcGVyL0lBdmFpbGFiaWxpdHlab25lTWFwcGVyJztcblxuLyoqXG4gKiBQcm9wcyBmb3IgY3JlYXRpbmcgb3BlcmF0aW9uIGRhc2hib2FyZCBhdmFpbGFiaWxpdHkgYW5kIGxhdGVuY3kgd2lkZ2V0c1xuICovXG5leHBvcnQgaW50ZXJmYWNlIE9wZXJhdGlvbkxhdGVuY3lXaWRnZXRQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgb3BlcmF0aW9uIGZvciB0aGlzIHdpZGdldFxuICAgKi9cbiAgcmVhZG9ubHkgb3BlcmF0aW9uOiBJT3BlcmF0aW9uO1xuXG4gIC8qKlxuICAgKiBUaGUgbGF0ZW5jeSBtZXRyaWMgZGV0YWlsc1xuICAgKi9cbiAgcmVhZG9ubHkgbGF0ZW5jeU1ldHJpY0RldGFpbHM6IElPcGVyYXRpb25NZXRyaWNEZXRhaWxzO1xuXG4gIC8qKlxuICAgKiBUaGUgQXZhaWxhYmlsaXR5IFpvbmVzIGJlaW5nIHVzZWRcbiAgICovXG4gIHJlYWRvbmx5IGF2YWlsYWJpbGl0eVpvbmVzOiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogQW4gYWxhcm0gcGVyIEFaIGZvciBsYXRlbmN5XG4gICAqL1xuICByZWFkb25seSB6b25hbEVuZHBvaW50TGF0ZW5jeUFsYXJtczogSUFsYXJtW107XG5cbiAgLyoqXG4gICAqIFRoZSByZWdpb25hbCBlbmRwb2ludCBsYXRlbmN5IGFsYXJtXG4gICAqL1xuICByZWFkb25seSByZWdpb25hbEVuZHBvaW50TGF0ZW5jeUFsYXJtOiBJQWxhcm07XG5cbiAgLyoqXG4gICAqIEluc3RhbmNlIGNvbnRyaWJ1dG9ycyB0byBoaWdoIGxhdGVuY3ksIG9ubHkgc2V0IGZvclxuICAgKiBzZXJ2ZXItc2lkZSB3aWRnZXRzXG4gICAqL1xuICByZWFkb25seSBpbnN0YW5jZUNvbnRyaWJ1dG9yc1RvSGlnaExhdGVuY3k/OiBDZm5JbnNpZ2h0UnVsZTtcblxuICAvKipcbiAgICogSXMgdGhpcyB3aWRnZXQgZm9yIHRoZSBjYW5hcnkgbWV0cmljc1xuICAgKi9cbiAgcmVhZG9ubHkgaXNDYW5hcnk6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSBBWiBNYXBwZXIgdG8gdXNlXG4gICAqL1xuICByZWFkb25seSBhek1hcHBlcjogSUF2YWlsYWJpbGl0eVpvbmVNYXBwZXI7XG59XG4iXX0=
|
package/lib/index.d.ts
CHANGED
|
@@ -33,3 +33,8 @@ export { IServiceAlarmsAndRules } from './alarmsandrules/IServiceAlarmsAndRules'
|
|
|
33
33
|
export { ICanaryTestMetricsOverride } from './services/ICanaryTestMetricsOverride';
|
|
34
34
|
export { CanaryTestMetricsOverride } from './services/CanaryTestMetricsOverride';
|
|
35
35
|
export { CanaryTestMetricsOverrideProps } from './services/props/CanaryTestMetricsOverrideProps';
|
|
36
|
+
export { ApplicationLoadBalancerLatencyOutlierAlgorithm } from './outlier-detection/ApplicationLoadBalancerLatencyOutlierAlgorithm';
|
|
37
|
+
export { ApplicationLoadBalancerAvailabilityOutlierAlgorithm } from './outlier-detection/ApplicationLoadBalancerAvailabilityOutlierAlgorithm';
|
|
38
|
+
export { NatGatewayDetectionProps } from './basic_observability/props/NatGatewayDetectionProps';
|
|
39
|
+
export { ApplicationLoadBalancerDetectionProps } from './basic_observability/props/ApplicationLoadBalancerDetectionProps';
|
|
40
|
+
export { PacketLossOutlierAlgorithm } from './outlier-detection/PacketLossOutlierAlgorithm';
|
package/lib/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.CanaryTestMetricsOverride = exports.BasicServiceMultiAZObservability = exports.InstrumentedServiceMultiAZObservability = exports.MetricDimensions = exports.ContributorInsightRuleDetails = exports.CanaryMetrics = exports.AvailabilityZoneMapper = exports.ServiceMetricDetails = exports.OperationMetricDetails = exports.Operation = exports.Service = exports.OutlierDetectionAlgorithm = void 0;
|
|
3
|
+
exports.PacketLossOutlierAlgorithm = exports.ApplicationLoadBalancerAvailabilityOutlierAlgorithm = exports.ApplicationLoadBalancerLatencyOutlierAlgorithm = exports.CanaryTestMetricsOverride = exports.BasicServiceMultiAZObservability = exports.InstrumentedServiceMultiAZObservability = exports.MetricDimensions = exports.ContributorInsightRuleDetails = exports.CanaryMetrics = exports.AvailabilityZoneMapper = exports.ServiceMetricDetails = exports.OperationMetricDetails = exports.Operation = exports.Service = exports.OutlierDetectionAlgorithm = void 0;
|
|
4
4
|
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
5
5
|
// SPDX-License-Identifier: Apache-2.0
|
|
6
6
|
var OutlierDetectionAlgorithm_1 = require("./utilities/OutlierDetectionAlgorithm");
|
|
@@ -27,4 +27,10 @@ var BasicServiceMultiAZObservability_1 = require("./basic_observability/BasicSer
|
|
|
27
27
|
Object.defineProperty(exports, "BasicServiceMultiAZObservability", { enumerable: true, get: function () { return BasicServiceMultiAZObservability_1.BasicServiceMultiAZObservability; } });
|
|
28
28
|
var CanaryTestMetricsOverride_1 = require("./services/CanaryTestMetricsOverride");
|
|
29
29
|
Object.defineProperty(exports, "CanaryTestMetricsOverride", { enumerable: true, get: function () { return CanaryTestMetricsOverride_1.CanaryTestMetricsOverride; } });
|
|
30
|
-
|
|
30
|
+
var ApplicationLoadBalancerLatencyOutlierAlgorithm_1 = require("./outlier-detection/ApplicationLoadBalancerLatencyOutlierAlgorithm");
|
|
31
|
+
Object.defineProperty(exports, "ApplicationLoadBalancerLatencyOutlierAlgorithm", { enumerable: true, get: function () { return ApplicationLoadBalancerLatencyOutlierAlgorithm_1.ApplicationLoadBalancerLatencyOutlierAlgorithm; } });
|
|
32
|
+
var ApplicationLoadBalancerAvailabilityOutlierAlgorithm_1 = require("./outlier-detection/ApplicationLoadBalancerAvailabilityOutlierAlgorithm");
|
|
33
|
+
Object.defineProperty(exports, "ApplicationLoadBalancerAvailabilityOutlierAlgorithm", { enumerable: true, get: function () { return ApplicationLoadBalancerAvailabilityOutlierAlgorithm_1.ApplicationLoadBalancerAvailabilityOutlierAlgorithm; } });
|
|
34
|
+
var PacketLossOutlierAlgorithm_1 = require("./outlier-detection/PacketLossOutlierAlgorithm");
|
|
35
|
+
Object.defineProperty(exports, "PacketLossOutlierAlgorithm", { enumerable: true, get: function () { return PacketLossOutlierAlgorithm_1.PacketLossOutlierAlgorithm; } });
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBQXFFO0FBQ3JFLHNDQUFzQztBQUN0QyxtRkFBa0Y7QUFBekUsc0lBQUEseUJBQXlCLE9BQUE7QUFJbEMsOENBQTZDO0FBQXBDLGtHQUFBLE9BQU8sT0FBQTtBQUVoQixrREFBaUQ7QUFBeEMsc0dBQUEsU0FBUyxPQUFBO0FBQ2xCLDRFQUEyRTtBQUFsRSxnSUFBQSxzQkFBc0IsT0FBQTtBQUUvQix3RUFBdUU7QUFBOUQsNEhBQUEsb0JBQW9CLE9BQUE7QUFNN0IsNEVBQTJFO0FBQWxFLGdJQUFBLHNCQUFzQixPQUFBO0FBRy9CLDBEQUF5RDtBQUFoRCw4R0FBQSxhQUFhLE9BQUE7QUFJdEIsMEZBQXlGO0FBQWhGLDhJQUFBLDZCQUE2QixPQUFBO0FBRXRDLHNFQUFxRTtBQUE1RCxvSEFBQSxnQkFBZ0IsT0FBQTtBQUd6Qiw4R0FBNkc7QUFBcEcsa0tBQUEsdUNBQXVDLE9BQUE7QUFDaEQsMkdBQTBHO0FBQWpHLG9KQUFBLGdDQUFnQyxPQUFBO0FBS3pDLGtGQUFpRjtBQUF4RSxzSUFBQSx5QkFBeUIsT0FBQTtBQUVsQyxxSUFBb0k7QUFBM0gsZ0xBQUEsOENBQThDLE9BQUE7QUFDdkQsK0lBQThJO0FBQXJJLDBMQUFBLG1EQUFtRCxPQUFBO0FBRzVELDZGQUE0RjtBQUFuRix3SUFBQSwwQkFBMEIsT0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcbmV4cG9ydCB7IE91dGxpZXJEZXRlY3Rpb25BbGdvcml0aG0gfSBmcm9tICcuL3V0aWxpdGllcy9PdXRsaWVyRGV0ZWN0aW9uQWxnb3JpdGhtJztcbmV4cG9ydCB7IEJhc2ljU2VydmljZU11bHRpQVpPYnNlcnZhYmlsaXR5UHJvcHMgfSBmcm9tICcuL2Jhc2ljX29ic2VydmFiaWxpdHkvcHJvcHMvQmFzaWNTZXJ2aWNlTXVsdGlBWk9ic2VydmFiaWxpdHlQcm9wcyc7XG5leHBvcnQgeyBJbnN0cnVtZW50ZWRTZXJ2aWNlTXVsdGlBWk9ic2VydmFiaWxpdHlQcm9wcyB9IGZyb20gJy4vc2VydmljZXMvcHJvcHMvSW5zdHJ1bWVudGVkU2VydmljZU11bHRpQVpPYnNlcnZhYmlsaXR5UHJvcHMnO1xuZXhwb3J0IHsgSVNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL0lTZXJ2aWNlJztcbmV4cG9ydCB7IFNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL1NlcnZpY2UnO1xuZXhwb3J0IHsgSU9wZXJhdGlvbiB9IGZyb20gJy4vc2VydmljZXMvSU9wZXJhdGlvbic7XG5leHBvcnQgeyBPcGVyYXRpb24gfSBmcm9tICcuL3NlcnZpY2VzL09wZXJhdGlvbic7XG5leHBvcnQgeyBPcGVyYXRpb25NZXRyaWNEZXRhaWxzIH0gZnJvbSAnLi9zZXJ2aWNlcy9PcGVyYXRpb25NZXRyaWNEZXRhaWxzJztcbmV4cG9ydCB7IElPcGVyYXRpb25NZXRyaWNEZXRhaWxzIH0gZnJvbSAnLi9zZXJ2aWNlcy9JT3BlcmF0aW9uTWV0cmljRGV0YWlscyc7XG5leHBvcnQgeyBTZXJ2aWNlTWV0cmljRGV0YWlscyB9IGZyb20gJy4vc2VydmljZXMvU2VydmljZU1ldHJpY0RldGFpbHMnO1xuZXhwb3J0IHsgSVNlcnZpY2VNZXRyaWNEZXRhaWxzIH0gZnJvbSAnLi9zZXJ2aWNlcy9JU2VydmljZU1ldHJpY0RldGFpbHMnO1xuZXhwb3J0IHsgQWRkQ2FuYXJ5VGVzdFByb3BzIH0gZnJvbSAnLi9jYW5hcmllcy9wcm9wcy9BZGRDYW5hcnlUZXN0UHJvcHMnO1xuZXhwb3J0IHsgSUNhbmFyeU1ldHJpY3MgfSBmcm9tICcuL3NlcnZpY2VzL0lDYW5hcnlNZXRyaWNzJztcbmV4cG9ydCB7IElDb250cmlidXRvckluc2lnaHRSdWxlRGV0YWlscyB9IGZyb20gJy4vc2VydmljZXMvSUNvbnRyaWJ1dG9ySW5zaWdodFJ1bGVEZXRhaWxzJztcbmV4cG9ydCB7IElBdmFpbGFiaWxpdHlab25lTWFwcGVyIH0gZnJvbSAnLi9hem1hcHBlci9JQXZhaWxhYmlsaXR5Wm9uZU1hcHBlcic7XG5leHBvcnQgeyBBdmFpbGFiaWxpdHlab25lTWFwcGVyIH0gZnJvbSAnLi9hem1hcHBlci9BdmFpbGFiaWxpdHlab25lTWFwcGVyJztcbmV4cG9ydCB7IEF2YWlsYWJpbGl0eVpvbmVNYXBwZXJQcm9wcyB9IGZyb20gJy4vYXptYXBwZXIvcHJvcHMvQXZhaWxhYmlsaXR5Wm9uZU1hcHBlclByb3BzJztcbmV4cG9ydCB7IFNlcnZpY2VQcm9wcyB9IGZyb20gJy4vc2VydmljZXMvcHJvcHMvU2VydmljZVByb3BzJztcbmV4cG9ydCB7IENhbmFyeU1ldHJpY3MgfSBmcm9tICcuL3NlcnZpY2VzL0NhbmFyeU1ldHJpY3MnO1xuZXhwb3J0IHsgQ2FuYXJ5TWV0cmljUHJvcHMgfSBmcm9tICcuL3NlcnZpY2VzL3Byb3BzL0NhbmFyeU1ldHJpY1Byb3BzJztcbmV4cG9ydCB7IE9wZXJhdGlvblByb3BzIH0gZnJvbSAnLi9zZXJ2aWNlcy9wcm9wcy9PcGVyYXRpb25Qcm9wcyc7XG5leHBvcnQgeyBPcGVyYXRpb25NZXRyaWNEZXRhaWxzUHJvcHMgfSBmcm9tICcuL3NlcnZpY2VzL3Byb3BzL09wZXJhdGlvbk1ldHJpY0RldGFpbHNQcm9wcyc7XG5leHBvcnQgeyBDb250cmlidXRvckluc2lnaHRSdWxlRGV0YWlscyB9IGZyb20gJy4vc2VydmljZXMvQ29udHJpYnV0b3JJbnNpZ2h0UnVsZURldGFpbHMnO1xuZXhwb3J0IHsgQ29udHJpYnV0b3JJbnNpZ2h0UnVsZURldGFpbHNQcm9wcyB9IGZyb20gJy4vc2VydmljZXMvcHJvcHMvQ29udHJpYnV0b3JJbnNpZ2h0UnVsZURldGFpbHNQcm9wcyc7XG5leHBvcnQgeyBNZXRyaWNEaW1lbnNpb25zIH0gZnJvbSAnLi9zZXJ2aWNlcy9wcm9wcy9NZXRyaWNEaW1lbnNpb25zJztcbmV4cG9ydCB7IE5ldHdvcmtDb25maWd1cmF0aW9uUHJvcHMgfSBmcm9tICcuL2NhbmFyaWVzL3Byb3BzL05ldHdvcmtDb25maWd1cmF0aW9uUHJvcHMnO1xuZXhwb3J0IHsgU2VydmljZU1ldHJpY0RldGFpbHNQcm9wcyB9IGZyb20gJy4vc2VydmljZXMvcHJvcHMvU2VydmljZU1ldHJpY0RldGFpbHNQcm9wcyc7XG5leHBvcnQgeyBJbnN0cnVtZW50ZWRTZXJ2aWNlTXVsdGlBWk9ic2VydmFiaWxpdHkgfSBmcm9tICcuL3NlcnZpY2VzL0luc3RydW1lbnRlZFNlcnZpY2VNdWx0aUFaT2JzZXJ2YWJpbGl0eSc7XG5leHBvcnQgeyBCYXNpY1NlcnZpY2VNdWx0aUFaT2JzZXJ2YWJpbGl0eSB9IGZyb20gJy4vYmFzaWNfb2JzZXJ2YWJpbGl0eS9CYXNpY1NlcnZpY2VNdWx0aUFaT2JzZXJ2YWJpbGl0eSc7XG5leHBvcnQgeyBJQmFzaWNTZXJ2aWNlTXVsdGlBWk9ic2VydmFiaWxpdHkgfSBmcm9tICcuL3NlcnZpY2VzL0lCYXNpY1NlcnZpY2VNdWx0aUFaT2JzZXJ2YWJpbGl0eSc7XG5leHBvcnQgeyBJSW5zdHJ1bWVudGVkU2VydmljZU11bHRpQVpPYnNlcnZhYmlsaXR5IH0gZnJvbSAnLi9zZXJ2aWNlcy9JSW5zdHJ1bWVudGVkU2VydmljZU11bHRpQVpPYnNlcnZhYmlsaXR5JztcbmV4cG9ydCB7IElTZXJ2aWNlQWxhcm1zQW5kUnVsZXMgfSBmcm9tICcuL2FsYXJtc2FuZHJ1bGVzL0lTZXJ2aWNlQWxhcm1zQW5kUnVsZXMnO1xuZXhwb3J0IHsgSUNhbmFyeVRlc3RNZXRyaWNzT3ZlcnJpZGUgfSBmcm9tICcuL3NlcnZpY2VzL0lDYW5hcnlUZXN0TWV0cmljc092ZXJyaWRlJztcbmV4cG9ydCB7IENhbmFyeVRlc3RNZXRyaWNzT3ZlcnJpZGUgfSBmcm9tICcuL3NlcnZpY2VzL0NhbmFyeVRlc3RNZXRyaWNzT3ZlcnJpZGUnO1xuZXhwb3J0IHsgQ2FuYXJ5VGVzdE1ldHJpY3NPdmVycmlkZVByb3BzIH0gZnJvbSAnLi9zZXJ2aWNlcy9wcm9wcy9DYW5hcnlUZXN0TWV0cmljc092ZXJyaWRlUHJvcHMnO1xuZXhwb3J0IHsgQXBwbGljYXRpb25Mb2FkQmFsYW5jZXJMYXRlbmN5T3V0bGllckFsZ29yaXRobSB9IGZyb20gJy4vb3V0bGllci1kZXRlY3Rpb24vQXBwbGljYXRpb25Mb2FkQmFsYW5jZXJMYXRlbmN5T3V0bGllckFsZ29yaXRobSc7XG5leHBvcnQgeyBBcHBsaWNhdGlvbkxvYWRCYWxhbmNlckF2YWlsYWJpbGl0eU91dGxpZXJBbGdvcml0aG0gfSBmcm9tICcuL291dGxpZXItZGV0ZWN0aW9uL0FwcGxpY2F0aW9uTG9hZEJhbGFuY2VyQXZhaWxhYmlsaXR5T3V0bGllckFsZ29yaXRobSc7XG5leHBvcnQgeyBOYXRHYXRld2F5RGV0ZWN0aW9uUHJvcHMgfSBmcm9tICcuL2Jhc2ljX29ic2VydmFiaWxpdHkvcHJvcHMvTmF0R2F0ZXdheURldGVjdGlvblByb3BzJztcbmV4cG9ydCB7IEFwcGxpY2F0aW9uTG9hZEJhbGFuY2VyRGV0ZWN0aW9uUHJvcHMgfSBmcm9tICcuL2Jhc2ljX29ic2VydmFiaWxpdHkvcHJvcHMvQXBwbGljYXRpb25Mb2FkQmFsYW5jZXJEZXRlY3Rpb25Qcm9wcyc7XG5leHBvcnQgeyBQYWNrZXRMb3NzT3V0bGllckFsZ29yaXRobSB9IGZyb20gJy4vb3V0bGllci1kZXRlY3Rpb24vUGFja2V0TG9zc091dGxpZXJBbGdvcml0aG0nOyJdfQ==
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { IMetric } from "aws-cdk-lib/aws-cloudwatch";
|
|
1
|
+
import { IAlarm, IMetric, IWidget } from "aws-cdk-lib/aws-cloudwatch";
|
|
2
2
|
import { IApplicationLoadBalancer } from "aws-cdk-lib/aws-elasticloadbalancingv2";
|
|
3
3
|
import { ZonalApplicationLoadBalancerLatencyMetricProps } from "../basic_observability/props/ZonalApplicationLoadBalancerLatencyMetricProps";
|
|
4
4
|
import { ZonalApplicationLoadBalancerAvailabilityMetricProps } from "../basic_observability/props/ZonalApplicationLoadBalancerAvailabilityMetricProps";
|
|
@@ -6,6 +6,10 @@ import { Duration } from "aws-cdk-lib";
|
|
|
6
6
|
import { RegionalApplicationLoadBalancerAvailabilityMetricProps } from "../basic_observability/props/RegionalApplicationLoadBalancerAvailabilityMetricProps";
|
|
7
7
|
import { RegionalApplicationLoadBalancerLatencyMetricProps } from "../basic_observability/props/RegionalApplicationLoadBalancerLatencyMetricProps";
|
|
8
8
|
import { AvailabilityZoneMapper } from "../azmapper/AvailabilityZoneMapper";
|
|
9
|
+
import { IConstruct } from "constructs";
|
|
10
|
+
import { ApplicationLoadBalancerAvailabilityOutlierAlgorithm } from "../outlier-detection/ApplicationLoadBalancerAvailabilityOutlierAlgorithm";
|
|
11
|
+
import { ApplicationLoadBalancerLatencyOutlierAlgorithm } from "../outlier-detection/ApplicationLoadBalancerLatencyOutlierAlgorithm";
|
|
12
|
+
import { IAvailabilityZoneMapper } from "../azmapper/IAvailabilityZoneMapper";
|
|
9
13
|
export declare class ApplicationLoadBalancerMetrics {
|
|
10
14
|
/**
|
|
11
15
|
* Gets the TargetResponseTime latency for the ALB
|
|
@@ -52,7 +56,66 @@ export declare class ApplicationLoadBalancerMetrics {
|
|
|
52
56
|
* @param azMapper The AZ mapper function so the metrics are correctly labeled with their AZ ID
|
|
53
57
|
* @returns
|
|
54
58
|
*/
|
|
55
|
-
static getTotalAlbFaultCountPerZone(albs: IApplicationLoadBalancer[], period: Duration, azMapper: AvailabilityZoneMapper): {
|
|
59
|
+
static getTotalAlbFaultCountPerZone(albs: IApplicationLoadBalancer[], period: Duration, azMapper: AvailabilityZoneMapper, prefix?: string): {
|
|
60
|
+
[key: string]: IMetric;
|
|
61
|
+
};
|
|
62
|
+
/**
|
|
63
|
+
* Calculates the total number of faults for all ALBs combined per AZ
|
|
64
|
+
* @param albs The ALBs to aggregate
|
|
65
|
+
* @param period The period of time to calculate the metrics
|
|
66
|
+
* @param azMapper The AZ mapper function so the metrics are correctly labeled with their AZ ID
|
|
67
|
+
* @returns
|
|
68
|
+
*/
|
|
69
|
+
static getTotalAlbSuccessCountPerZone(albs: IApplicationLoadBalancer[], period: Duration, azMapper: AvailabilityZoneMapper): {
|
|
70
|
+
[key: string]: IMetric;
|
|
71
|
+
};
|
|
72
|
+
/**
|
|
73
|
+
* Calculates the total number of processed bytes for all ALBs in each zone
|
|
74
|
+
* @param albs
|
|
75
|
+
* @param period
|
|
76
|
+
* @param azMapper
|
|
77
|
+
* @returns
|
|
78
|
+
*/
|
|
79
|
+
static getTotalAlbRequestsPerZone(albs: IApplicationLoadBalancer[], period: Duration, azMapper: AvailabilityZoneMapper, prefix?: string): {
|
|
80
|
+
[key: string]: IMetric;
|
|
81
|
+
};
|
|
82
|
+
/**
|
|
83
|
+
* Calculates the total number of processed bytes for all ALBs in each zone
|
|
84
|
+
* @param albs
|
|
85
|
+
* @param period
|
|
86
|
+
* @param azMapper
|
|
87
|
+
* @returns
|
|
88
|
+
*/
|
|
89
|
+
static getTotalAlbProcessedBytesPerZone(albs: IApplicationLoadBalancer[], period: Duration, azMapper: AvailabilityZoneMapper): {
|
|
90
|
+
[key: string]: IMetric;
|
|
91
|
+
};
|
|
92
|
+
/**
|
|
93
|
+
* Calculates a weighted approximation of the latency at the provided statistic for all ALBs
|
|
94
|
+
* in each zone.
|
|
95
|
+
* @param albs
|
|
96
|
+
* @param statistic
|
|
97
|
+
* @param period
|
|
98
|
+
* @param azMapper
|
|
99
|
+
* @returns
|
|
100
|
+
*/
|
|
101
|
+
static getTotalAlbLatencyPerZone(albs: IApplicationLoadBalancer[], statistic: string, period: Duration, azMapper: AvailabilityZoneMapper): {
|
|
102
|
+
[key: string]: IMetric;
|
|
103
|
+
};
|
|
104
|
+
static getWeightedLatencyZScorePerZone(albs: IApplicationLoadBalancer[], statistic: string, period: Duration, azMapper: IAvailabilityZoneMapper): {
|
|
105
|
+
[key: string]: IMetric;
|
|
106
|
+
};
|
|
107
|
+
/**
|
|
108
|
+
* Calculates the fault rate per AZ
|
|
109
|
+
* @param requestsPerZone
|
|
110
|
+
* @param faultsPerZone
|
|
111
|
+
* @param period
|
|
112
|
+
* @param azMapper
|
|
113
|
+
* @returns The fault rate per AZ using the AZ name letter as the key for each metric
|
|
114
|
+
*/
|
|
115
|
+
static getTotalAlbFaultRatePerZone(albs: IApplicationLoadBalancer[], period: Duration, azMapper: AvailabilityZoneMapper): {
|
|
116
|
+
[key: string]: IMetric;
|
|
117
|
+
};
|
|
118
|
+
static getTotalAlb5xxCountPerZone(albs: IApplicationLoadBalancer[], period: Duration, azMapper: IAvailabilityZoneMapper): {
|
|
56
119
|
[key: string]: IMetric;
|
|
57
120
|
};
|
|
58
121
|
/**
|
|
@@ -62,7 +125,7 @@ export declare class ApplicationLoadBalancerMetrics {
|
|
|
62
125
|
* @param period
|
|
63
126
|
* @returns IMetric
|
|
64
127
|
*/
|
|
65
|
-
static getPerAZProcessedBytesMetric(alb: IApplicationLoadBalancer, availabilityZone: string, availabilityZoneId: string, period: Duration): IMetric;
|
|
128
|
+
static getPerAZProcessedBytesMetric(alb: IApplicationLoadBalancer, availabilityZone: string, availabilityZoneId: string, period: Duration, addLoadBalancerArnToLabel?: boolean): IMetric;
|
|
66
129
|
/**
|
|
67
130
|
* Creates a zonal processed bytes metric for the specified load balancer
|
|
68
131
|
* @param loadBalancerFullName
|
|
@@ -70,5 +133,10 @@ export declare class ApplicationLoadBalancerMetrics {
|
|
|
70
133
|
* @param period
|
|
71
134
|
* @returns IMetric
|
|
72
135
|
*/
|
|
73
|
-
static getRegionalProcessedBytesMetric(alb: IApplicationLoadBalancer, period: Duration): IMetric;
|
|
136
|
+
static getRegionalProcessedBytesMetric(alb: IApplicationLoadBalancer, period: Duration, addLoadBalancerArn?: boolean): IMetric;
|
|
137
|
+
static createAZAvailabilityImpactAlarm(scope: IConstruct, alb: IApplicationLoadBalancer, availabilityZoneId: string, availabilityZone: string, threshold: number, keyprefix: string, period: Duration, evaluationPeriods: number, datapointsToAlarm: number): IAlarm;
|
|
138
|
+
static createAZLatencyImpactAlarm(scope: IConstruct, alb: IApplicationLoadBalancer, availabilityZoneId: string, availabilityZone: string, threshold: number, statistic: string, keyprefix: string, period: Duration, evaluationPeriods: number, datapointsToAlarm: number): IAlarm;
|
|
139
|
+
static createAZAvailabilityOutlierAlarm(scope: IConstruct, alb: IApplicationLoadBalancer, algorithm: ApplicationLoadBalancerAvailabilityOutlierAlgorithm, availabilityZoneId: string, availabilityZone: string, threshold: number, keyprefix: string, period: Duration, evaluationPeriods: number, datapointsToAlarm: number): IAlarm;
|
|
140
|
+
static createAZLatencyOutlierAlarm(scope: IConstruct, alb: IApplicationLoadBalancer, algorithm: ApplicationLoadBalancerLatencyOutlierAlgorithm, availabilityZone: string, statistic: string, latencyThresold: number, outlierThreshold: number, period: Duration, evaluationPeriods: number, datapointsToAlarm: number, azMapper: IAvailabilityZoneMapper): IAlarm;
|
|
141
|
+
static generateLoadBalancerWidgets(albs: IApplicationLoadBalancer[], azMapper: AvailabilityZoneMapper, period: Duration, latencyStatistic: string, latencyThreshold: number, faultRateThreshold: number): IWidget[];
|
|
74
142
|
}
|