UNPKG

cdk-monitoring-constructs

Version:

[![NPM version](https://badge.fury.io/js/cdk-monitoring-constructs.svg)](https://badge.fury.io/js/cdk-monitoring-constructs) [![Maven Central](https://maven-badges.herokuapp.com/maven-central/io.github.cdklabs/cdkmonitoringconstructs/badge.svg)](https://m

76 lines 12.8 kB
"use strict"; var _a; Object.defineProperty(exports, "__esModule", { value: true }); exports.KinesisDataAnalyticsAlarmFactory = void 0; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const aws_cloudwatch_1 = require("aws-cdk-lib/aws-cloudwatch"); const ErrorAlarmFactory_1 = require("./ErrorAlarmFactory"); class KinesisDataAnalyticsAlarmFactory { constructor(alarmFactory) { this.alarmFactory = alarmFactory; this.errorAlarmFactory = new ErrorAlarmFactory_1.ErrorAlarmFactory(alarmFactory); } addDowntimeAlarm(metric, props, disambiguator) { return this.alarmFactory.addAlarm(metric, { treatMissingData: props.treatMissingDataOverride ?? aws_cloudwatch_1.TreatMissingData.BREACHING, comparisonOperator: props.comparisonOperatorOverride ?? aws_cloudwatch_1.ComparisonOperator.GREATER_THAN_THRESHOLD, ...props, disambiguator, threshold: props.maxDowntimeInMillis, alarmNameSuffix: "Downtime", alarmDescription: "Application has too much downtime", // we will dedupe any kind of message count issue to the same ticket alarmDedupeStringSuffix: "KDADowntimeAlarm", }); } addFullRestartAlarm(metric, props, disambiguator) { return this.alarmFactory.addAlarm(metric, { treatMissingData: props.treatMissingDataOverride ?? aws_cloudwatch_1.TreatMissingData.BREACHING, comparisonOperator: props.comparisonOperatorOverride ?? aws_cloudwatch_1.ComparisonOperator.GREATER_THAN_THRESHOLD, ...props, disambiguator, threshold: props.maxFullRestartCount, alarmNameSuffix: "FullRestart", alarmDescription: "Last submitted job is restarting more than usual", alarmDedupeStringSuffix: "KDAFullRestartAlarm", }); } addFullRestartRateAlarm(metric, props, disambiguator) { return this.alarmFactory.addAlarm(metric, { treatMissingData: props.treatMissingDataOverride ?? aws_cloudwatch_1.TreatMissingData.BREACHING, comparisonOperator: props.comparisonOperatorOverride ?? aws_cloudwatch_1.ComparisonOperator.GREATER_THAN_THRESHOLD, ...props, disambiguator, threshold: props.maxErrorRate, alarmNameSuffix: "FullRestartRate", alarmDescription: "Full restart rate is too high", alarmDedupeStringSuffix: "KDAFullRestartRateAlarm", }); } addBackPressuredTimeMsPerSecondAlarm(metric, props, disambiguator) { return this.alarmFactory.addAlarm(metric, { treatMissingData: props.treatMissingDataOverride ?? aws_cloudwatch_1.TreatMissingData.NOT_BREACHING, comparisonOperator: props.comparisonOperatorOverride ?? aws_cloudwatch_1.ComparisonOperator.GREATER_THAN_THRESHOLD, ...props, disambiguator, threshold: props.maxBackPressuredTimeMsPerSecond, alarmNameSuffix: "BackPressuredTime", alarmDescription: "Application back pressure has exceeded thresholds", alarmDedupeStringSuffix: "KDABackPressuredTimeAlarm", }); } addCheckpointFailureCountAlarm(metric, props, disambiguator) { return this.errorAlarmFactory.addErrorCountAlarm(metric, ErrorAlarmFactory_1.ErrorType.FAILURE, props, disambiguator); } addCheckpointFailureRateAlarm(metric, props, disambiguator) { return this.errorAlarmFactory.addErrorRateAlarm(metric, ErrorAlarmFactory_1.ErrorType.FAILURE, props, disambiguator); } } exports.KinesisDataAnalyticsAlarmFactory = KinesisDataAnalyticsAlarmFactory; _a = JSII_RTTI_SYMBOL_1; KinesisDataAnalyticsAlarmFactory[_a] = { fqn: "cdk-monitoring-constructs.KinesisDataAnalyticsAlarmFactory", version: "10.0.0" }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiS2luZXNpc0RhdGFBbmFseXRpY3NBbGFybUZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJLaW5lc2lzRGF0YUFuYWx5dGljc0FsYXJtRmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLCtEQUdvQztBQUVwQywyREFLNkI7QUFpQjdCLE1BQWEsZ0NBQWdDO0lBSTNDLFlBQVksWUFBMEI7UUFDcEMsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7UUFDakMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUkscUNBQWlCLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVELGdCQUFnQixDQUNkLE1BQThCLEVBQzlCLEtBQTJCLEVBQzNCLGFBQXNCO1FBRXRCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFO1lBQ3hDLGdCQUFnQixFQUNkLEtBQUssQ0FBQyx3QkFBd0IsSUFBSSxpQ0FBZ0IsQ0FBQyxTQUFTO1lBQzlELGtCQUFrQixFQUNoQixLQUFLLENBQUMsMEJBQTBCO2dCQUNoQyxtQ0FBa0IsQ0FBQyxzQkFBc0I7WUFDM0MsR0FBRyxLQUFLO1lBQ1IsYUFBYTtZQUNiLFNBQVMsRUFBRSxLQUFLLENBQUMsbUJBQW1CO1lBQ3BDLGVBQWUsRUFBRSxVQUFVO1lBQzNCLGdCQUFnQixFQUFFLG1DQUFtQztZQUNyRCxvRUFBb0U7WUFDcEUsdUJBQXVCLEVBQUUsa0JBQWtCO1NBQzVDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxtQkFBbUIsQ0FDakIsTUFBOEIsRUFDOUIsS0FBZ0MsRUFDaEMsYUFBc0I7UUFFdEIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUU7WUFDeEMsZ0JBQWdCLEVBQ2QsS0FBSyxDQUFDLHdCQUF3QixJQUFJLGlDQUFnQixDQUFDLFNBQVM7WUFDOUQsa0JBQWtCLEVBQ2hCLEtBQUssQ0FBQywwQkFBMEI7Z0JBQ2hDLG1DQUFrQixDQUFDLHNCQUFzQjtZQUMzQyxHQUFHLEtBQUs7WUFDUixhQUFhO1lBQ2IsU0FBUyxFQUFFLEtBQUssQ0FBQyxtQkFBbUI7WUFDcEMsZUFBZSxFQUFFLGFBQWE7WUFDOUIsZ0JBQWdCLEVBQUUsa0RBQWtEO1lBQ3BFLHVCQUF1QixFQUFFLHFCQUFxQjtTQUMvQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsdUJBQXVCLENBQ3JCLE1BQThCLEVBQzlCLEtBQXlCLEVBQ3pCLGFBQXNCO1FBRXRCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFO1lBQ3hDLGdCQUFnQixFQUNkLEtBQUssQ0FBQyx3QkFBd0IsSUFBSSxpQ0FBZ0IsQ0FBQyxTQUFTO1lBQzlELGtCQUFrQixFQUNoQixLQUFLLENBQUMsMEJBQTBCO2dCQUNoQyxtQ0FBa0IsQ0FBQyxzQkFBc0I7WUFDM0MsR0FBRyxLQUFLO1lBQ1IsYUFBYTtZQUNiLFNBQVMsRUFBRSxLQUFLLENBQUMsWUFBWTtZQUM3QixlQUFlLEVBQUUsaUJBQWlCO1lBQ2xDLGdCQUFnQixFQUFFLCtCQUErQjtZQUNqRCx1QkFBdUIsRUFBRSx5QkFBeUI7U0FDbkQsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELG9DQUFvQyxDQUNsQyxNQUE4QixFQUM5QixLQUErQyxFQUMvQyxhQUFzQjtRQUV0QixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRTtZQUN4QyxnQkFBZ0IsRUFDZCxLQUFLLENBQUMsd0JBQXdCLElBQUksaUNBQWdCLENBQUMsYUFBYTtZQUNsRSxrQkFBa0IsRUFDaEIsS0FBSyxDQUFDLDBCQUEwQjtnQkFDaEMsbUNBQWtCLENBQUMsc0JBQXNCO1lBQzNDLEdBQUcsS0FBSztZQUNSLGFBQWE7WUFDYixTQUFTLEVBQUUsS0FBSyxDQUFDLCtCQUErQjtZQUNoRCxlQUFlLEVBQUUsbUJBQW1CO1lBQ3BDLGdCQUFnQixFQUFFLG1EQUFtRDtZQUNyRSx1QkFBdUIsRUFBRSwyQkFBMkI7U0FDckQsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELDhCQUE4QixDQUM1QixNQUE4QixFQUM5QixLQUEwQixFQUMxQixhQUFzQjtRQUV0QixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxrQkFBa0IsQ0FDOUMsTUFBTSxFQUNOLDZCQUFTLENBQUMsT0FBTyxFQUNqQixLQUFLLEVBQ0wsYUFBYSxDQUNkLENBQUM7SUFDSixDQUFDO0lBRUQsNkJBQTZCLENBQzNCLE1BQThCLEVBQzlCLEtBQXlCLEVBQ3pCLGFBQXNCO1FBRXRCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLGlCQUFpQixDQUM3QyxNQUFNLEVBQ04sNkJBQVMsQ0FBQyxPQUFPLEVBQ2pCLEtBQUssRUFDTCxhQUFhLENBQ2QsQ0FBQztJQUNKLENBQUM7O0FBbEhILDRFQW1IQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBhcmlzb25PcGVyYXRvcixcbiAgVHJlYXRNaXNzaW5nRGF0YSxcbn0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1jbG91ZHdhdGNoXCI7XG5cbmltcG9ydCB7XG4gIEVycm9yQWxhcm1GYWN0b3J5LFxuICBFcnJvckNvdW50VGhyZXNob2xkLFxuICBFcnJvclJhdGVUaHJlc2hvbGQsXG4gIEVycm9yVHlwZSxcbn0gZnJvbSBcIi4vRXJyb3JBbGFybUZhY3RvcnlcIjtcbmltcG9ydCB7IEFsYXJtRmFjdG9yeSwgQ3VzdG9tQWxhcm1UaHJlc2hvbGQgfSBmcm9tIFwiLi4vLi4vYWxhcm1cIjtcbmltcG9ydCB7IE1ldHJpY1dpdGhBbGFybVN1cHBvcnQgfSBmcm9tIFwiLi4vLi4vbWV0cmljXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWF4RG93bnRpbWVUaHJlc2hvbGQgZXh0ZW5kcyBDdXN0b21BbGFybVRocmVzaG9sZCB7XG4gIHJlYWRvbmx5IG1heERvd250aW1lSW5NaWxsaXM6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGdWxsUmVzdGFydENvdW50VGhyZXNob2xkIGV4dGVuZHMgQ3VzdG9tQWxhcm1UaHJlc2hvbGQge1xuICByZWFkb25seSBtYXhGdWxsUmVzdGFydENvdW50OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWF4QmFja1ByZXNzdXJlZFRpbWVNc1BlclNlY29uZFRocmVzaG9sZFxuICBleHRlbmRzIEN1c3RvbUFsYXJtVGhyZXNob2xkIHtcbiAgcmVhZG9ubHkgbWF4QmFja1ByZXNzdXJlZFRpbWVNc1BlclNlY29uZDogbnVtYmVyO1xufVxuXG5leHBvcnQgY2xhc3MgS2luZXNpc0RhdGFBbmFseXRpY3NBbGFybUZhY3Rvcnkge1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgYWxhcm1GYWN0b3J5OiBBbGFybUZhY3Rvcnk7XG4gIHByb3RlY3RlZCByZWFkb25seSBlcnJvckFsYXJtRmFjdG9yeTogRXJyb3JBbGFybUZhY3Rvcnk7XG5cbiAgY29uc3RydWN0b3IoYWxhcm1GYWN0b3J5OiBBbGFybUZhY3RvcnkpIHtcbiAgICB0aGlzLmFsYXJtRmFjdG9yeSA9IGFsYXJtRmFjdG9yeTtcbiAgICB0aGlzLmVycm9yQWxhcm1GYWN0b3J5ID0gbmV3IEVycm9yQWxhcm1GYWN0b3J5KGFsYXJtRmFjdG9yeSk7XG4gIH1cblxuICBhZGREb3dudGltZUFsYXJtKFxuICAgIG1ldHJpYzogTWV0cmljV2l0aEFsYXJtU3VwcG9ydCxcbiAgICBwcm9wczogTWF4RG93bnRpbWVUaHJlc2hvbGQsXG4gICAgZGlzYW1iaWd1YXRvcj86IHN0cmluZyxcbiAgKSB7XG4gICAgcmV0dXJuIHRoaXMuYWxhcm1GYWN0b3J5LmFkZEFsYXJtKG1ldHJpYywge1xuICAgICAgdHJlYXRNaXNzaW5nRGF0YTpcbiAgICAgICAgcHJvcHMudHJlYXRNaXNzaW5nRGF0YU92ZXJyaWRlID8/IFRyZWF0TWlzc2luZ0RhdGEuQlJFQUNISU5HLFxuICAgICAgY29tcGFyaXNvbk9wZXJhdG9yOlxuICAgICAgICBwcm9wcy5jb21wYXJpc29uT3BlcmF0b3JPdmVycmlkZSA/P1xuICAgICAgICBDb21wYXJpc29uT3BlcmF0b3IuR1JFQVRFUl9USEFOX1RIUkVTSE9MRCxcbiAgICAgIC4uLnByb3BzLFxuICAgICAgZGlzYW1iaWd1YXRvcixcbiAgICAgIHRocmVzaG9sZDogcHJvcHMubWF4RG93bnRpbWVJbk1pbGxpcyxcbiAgICAgIGFsYXJtTmFtZVN1ZmZpeDogXCJEb3dudGltZVwiLFxuICAgICAgYWxhcm1EZXNjcmlwdGlvbjogXCJBcHBsaWNhdGlvbiBoYXMgdG9vIG11Y2ggZG93bnRpbWVcIixcbiAgICAgIC8vIHdlIHdpbGwgZGVkdXBlIGFueSBraW5kIG9mIG1lc3NhZ2UgY291bnQgaXNzdWUgdG8gdGhlIHNhbWUgdGlja2V0XG4gICAgICBhbGFybURlZHVwZVN0cmluZ1N1ZmZpeDogXCJLREFEb3dudGltZUFsYXJtXCIsXG4gICAgfSk7XG4gIH1cblxuICBhZGRGdWxsUmVzdGFydEFsYXJtKFxuICAgIG1ldHJpYzogTWV0cmljV2l0aEFsYXJtU3VwcG9ydCxcbiAgICBwcm9wczogRnVsbFJlc3RhcnRDb3VudFRocmVzaG9sZCxcbiAgICBkaXNhbWJpZ3VhdG9yPzogc3RyaW5nLFxuICApIHtcbiAgICByZXR1cm4gdGhpcy5hbGFybUZhY3RvcnkuYWRkQWxhcm0obWV0cmljLCB7XG4gICAgICB0cmVhdE1pc3NpbmdEYXRhOlxuICAgICAgICBwcm9wcy50cmVhdE1pc3NpbmdEYXRhT3ZlcnJpZGUgPz8gVHJlYXRNaXNzaW5nRGF0YS5CUkVBQ0hJTkcsXG4gICAgICBjb21wYXJpc29uT3BlcmF0b3I6XG4gICAgICAgIHByb3BzLmNvbXBhcmlzb25PcGVyYXRvck92ZXJyaWRlID8/XG4gICAgICAgIENvbXBhcmlzb25PcGVyYXRvci5HUkVBVEVSX1RIQU5fVEhSRVNIT0xELFxuICAgICAgLi4ucHJvcHMsXG4gICAgICBkaXNhbWJpZ3VhdG9yLFxuICAgICAgdGhyZXNob2xkOiBwcm9wcy5tYXhGdWxsUmVzdGFydENvdW50LFxuICAgICAgYWxhcm1OYW1lU3VmZml4OiBcIkZ1bGxSZXN0YXJ0XCIsXG4gICAgICBhbGFybURlc2NyaXB0aW9uOiBcIkxhc3Qgc3VibWl0dGVkIGpvYiBpcyByZXN0YXJ0aW5nIG1vcmUgdGhhbiB1c3VhbFwiLFxuICAgICAgYWxhcm1EZWR1cGVTdHJpbmdTdWZmaXg6IFwiS0RBRnVsbFJlc3RhcnRBbGFybVwiLFxuICAgIH0pO1xuICB9XG5cbiAgYWRkRnVsbFJlc3RhcnRSYXRlQWxhcm0oXG4gICAgbWV0cmljOiBNZXRyaWNXaXRoQWxhcm1TdXBwb3J0LFxuICAgIHByb3BzOiBFcnJvclJhdGVUaHJlc2hvbGQsXG4gICAgZGlzYW1iaWd1YXRvcj86IHN0cmluZyxcbiAgKSB7XG4gICAgcmV0dXJuIHRoaXMuYWxhcm1GYWN0b3J5LmFkZEFsYXJtKG1ldHJpYywge1xuICAgICAgdHJlYXRNaXNzaW5nRGF0YTpcbiAgICAgICAgcHJvcHMudHJlYXRNaXNzaW5nRGF0YU92ZXJyaWRlID8/IFRyZWF0TWlzc2luZ0RhdGEuQlJFQUNISU5HLFxuICAgICAgY29tcGFyaXNvbk9wZXJhdG9yOlxuICAgICAgICBwcm9wcy5jb21wYXJpc29uT3BlcmF0b3JPdmVycmlkZSA/P1xuICAgICAgICBDb21wYXJpc29uT3BlcmF0b3IuR1JFQVRFUl9USEFOX1RIUkVTSE9MRCxcbiAgICAgIC4uLnByb3BzLFxuICAgICAgZGlzYW1iaWd1YXRvcixcbiAgICAgIHRocmVzaG9sZDogcHJvcHMubWF4RXJyb3JSYXRlLFxuICAgICAgYWxhcm1OYW1lU3VmZml4OiBcIkZ1bGxSZXN0YXJ0UmF0ZVwiLFxuICAgICAgYWxhcm1EZXNjcmlwdGlvbjogXCJGdWxsIHJlc3RhcnQgcmF0ZSBpcyB0b28gaGlnaFwiLFxuICAgICAgYWxhcm1EZWR1cGVTdHJpbmdTdWZmaXg6IFwiS0RBRnVsbFJlc3RhcnRSYXRlQWxhcm1cIixcbiAgICB9KTtcbiAgfVxuXG4gIGFkZEJhY2tQcmVzc3VyZWRUaW1lTXNQZXJTZWNvbmRBbGFybShcbiAgICBtZXRyaWM6IE1ldHJpY1dpdGhBbGFybVN1cHBvcnQsXG4gICAgcHJvcHM6IE1heEJhY2tQcmVzc3VyZWRUaW1lTXNQZXJTZWNvbmRUaHJlc2hvbGQsXG4gICAgZGlzYW1iaWd1YXRvcj86IHN0cmluZyxcbiAgKSB7XG4gICAgcmV0dXJuIHRoaXMuYWxhcm1GYWN0b3J5LmFkZEFsYXJtKG1ldHJpYywge1xuICAgICAgdHJlYXRNaXNzaW5nRGF0YTpcbiAgICAgICAgcHJvcHMudHJlYXRNaXNzaW5nRGF0YU92ZXJyaWRlID8/IFRyZWF0TWlzc2luZ0RhdGEuTk9UX0JSRUFDSElORyxcbiAgICAgIGNvbXBhcmlzb25PcGVyYXRvcjpcbiAgICAgICAgcHJvcHMuY29tcGFyaXNvbk9wZXJhdG9yT3ZlcnJpZGUgPz9cbiAgICAgICAgQ29tcGFyaXNvbk9wZXJhdG9yLkdSRUFURVJfVEhBTl9USFJFU0hPTEQsXG4gICAgICAuLi5wcm9wcyxcbiAgICAgIGRpc2FtYmlndWF0b3IsXG4gICAgICB0aHJlc2hvbGQ6IHByb3BzLm1heEJhY2tQcmVzc3VyZWRUaW1lTXNQZXJTZWNvbmQsXG4gICAgICBhbGFybU5hbWVTdWZmaXg6IFwiQmFja1ByZXNzdXJlZFRpbWVcIixcbiAgICAgIGFsYXJtRGVzY3JpcHRpb246IFwiQXBwbGljYXRpb24gYmFjayBwcmVzc3VyZSBoYXMgZXhjZWVkZWQgdGhyZXNob2xkc1wiLFxuICAgICAgYWxhcm1EZWR1cGVTdHJpbmdTdWZmaXg6IFwiS0RBQmFja1ByZXNzdXJlZFRpbWVBbGFybVwiLFxuICAgIH0pO1xuICB9XG5cbiAgYWRkQ2hlY2twb2ludEZhaWx1cmVDb3VudEFsYXJtKFxuICAgIG1ldHJpYzogTWV0cmljV2l0aEFsYXJtU3VwcG9ydCxcbiAgICBwcm9wczogRXJyb3JDb3VudFRocmVzaG9sZCxcbiAgICBkaXNhbWJpZ3VhdG9yPzogc3RyaW5nLFxuICApIHtcbiAgICByZXR1cm4gdGhpcy5lcnJvckFsYXJtRmFjdG9yeS5hZGRFcnJvckNvdW50QWxhcm0oXG4gICAgICBtZXRyaWMsXG4gICAgICBFcnJvclR5cGUuRkFJTFVSRSxcbiAgICAgIHByb3BzLFxuICAgICAgZGlzYW1iaWd1YXRvcixcbiAgICApO1xuICB9XG5cbiAgYWRkQ2hlY2twb2ludEZhaWx1cmVSYXRlQWxhcm0oXG4gICAgbWV0cmljOiBNZXRyaWNXaXRoQWxhcm1TdXBwb3J0LFxuICAgIHByb3BzOiBFcnJvclJhdGVUaHJlc2hvbGQsXG4gICAgZGlzYW1iaWd1YXRvcj86IHN0cmluZyxcbiAgKSB7XG4gICAgcmV0dXJuIHRoaXMuZXJyb3JBbGFybUZhY3RvcnkuYWRkRXJyb3JSYXRlQWxhcm0oXG4gICAgICBtZXRyaWMsXG4gICAgICBFcnJvclR5cGUuRkFJTFVSRSxcbiAgICAgIHByb3BzLFxuICAgICAgZGlzYW1iaWd1YXRvcixcbiAgICApO1xuICB9XG59XG4iXX0=