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

63 lines 10.4 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", }); } 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: "9.19.0" }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiS2luZXNpc0RhdGFBbmFseXRpY3NBbGFybUZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJLaW5lc2lzRGF0YUFuYWx5dGljc0FsYXJtRmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLCtEQUdvQztBQUVwQywyREFLNkI7QUFZN0IsTUFBYSxnQ0FBZ0M7SUFJM0MsWUFBWSxZQUEwQjtRQUNwQyxJQUFJLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQztRQUNqQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxxQ0FBaUIsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRUQsZ0JBQWdCLENBQ2QsTUFBOEIsRUFDOUIsS0FBMkIsRUFDM0IsYUFBc0I7UUFFdEIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUU7WUFDeEMsZ0JBQWdCLEVBQ2QsS0FBSyxDQUFDLHdCQUF3QixJQUFJLGlDQUFnQixDQUFDLFNBQVM7WUFDOUQsa0JBQWtCLEVBQ2hCLEtBQUssQ0FBQywwQkFBMEI7Z0JBQ2hDLG1DQUFrQixDQUFDLHNCQUFzQjtZQUMzQyxHQUFHLEtBQUs7WUFDUixhQUFhO1lBQ2IsU0FBUyxFQUFFLEtBQUssQ0FBQyxtQkFBbUI7WUFDcEMsZUFBZSxFQUFFLFVBQVU7WUFDM0IsZ0JBQWdCLEVBQUUsbUNBQW1DO1lBQ3JELG9FQUFvRTtZQUNwRSx1QkFBdUIsRUFBRSxrQkFBa0I7U0FDNUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELG1CQUFtQixDQUNqQixNQUE4QixFQUM5QixLQUFnQyxFQUNoQyxhQUFzQjtRQUV0QixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRTtZQUN4QyxnQkFBZ0IsRUFDZCxLQUFLLENBQUMsd0JBQXdCLElBQUksaUNBQWdCLENBQUMsU0FBUztZQUM5RCxrQkFBa0IsRUFDaEIsS0FBSyxDQUFDLDBCQUEwQjtnQkFDaEMsbUNBQWtCLENBQUMsc0JBQXNCO1lBQzNDLEdBQUcsS0FBSztZQUNSLGFBQWE7WUFDYixTQUFTLEVBQUUsS0FBSyxDQUFDLG1CQUFtQjtZQUNwQyxlQUFlLEVBQUUsYUFBYTtZQUM5QixnQkFBZ0IsRUFBRSxrREFBa0Q7WUFDcEUsdUJBQXVCLEVBQUUscUJBQXFCO1NBQy9DLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCx1QkFBdUIsQ0FDckIsTUFBOEIsRUFDOUIsS0FBeUIsRUFDekIsYUFBc0I7UUFFdEIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUU7WUFDeEMsZ0JBQWdCLEVBQ2QsS0FBSyxDQUFDLHdCQUF3QixJQUFJLGlDQUFnQixDQUFDLFNBQVM7WUFDOUQsa0JBQWtCLEVBQ2hCLEtBQUssQ0FBQywwQkFBMEI7Z0JBQ2hDLG1DQUFrQixDQUFDLHNCQUFzQjtZQUMzQyxHQUFHLEtBQUs7WUFDUixhQUFhO1lBQ2IsU0FBUyxFQUFFLEtBQUssQ0FBQyxZQUFZO1lBQzdCLGVBQWUsRUFBRSxpQkFBaUI7WUFDbEMsZ0JBQWdCLEVBQUUsK0JBQStCO1lBQ2pELHVCQUF1QixFQUFFLHlCQUF5QjtTQUNuRCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsOEJBQThCLENBQzVCLE1BQThCLEVBQzlCLEtBQTBCLEVBQzFCLGFBQXNCO1FBRXRCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLGtCQUFrQixDQUM5QyxNQUFNLEVBQ04sNkJBQVMsQ0FBQyxPQUFPLEVBQ2pCLEtBQUssRUFDTCxhQUFhLENBQ2QsQ0FBQztJQUNKLENBQUM7SUFFRCw2QkFBNkIsQ0FDM0IsTUFBOEIsRUFDOUIsS0FBeUIsRUFDekIsYUFBc0I7UUFFdEIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsaUJBQWlCLENBQzdDLE1BQU0sRUFDTiw2QkFBUyxDQUFDLE9BQU8sRUFDakIsS0FBSyxFQUNMLGFBQWEsQ0FDZCxDQUFDO0lBQ0osQ0FBQzs7QUE5RkgsNEVBK0ZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcGFyaXNvbk9wZXJhdG9yLFxuICBUcmVhdE1pc3NpbmdEYXRhLFxufSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWNsb3Vkd2F0Y2hcIjtcblxuaW1wb3J0IHtcbiAgRXJyb3JBbGFybUZhY3RvcnksXG4gIEVycm9yQ291bnRUaHJlc2hvbGQsXG4gIEVycm9yUmF0ZVRocmVzaG9sZCxcbiAgRXJyb3JUeXBlLFxufSBmcm9tIFwiLi9FcnJvckFsYXJtRmFjdG9yeVwiO1xuaW1wb3J0IHsgQWxhcm1GYWN0b3J5LCBDdXN0b21BbGFybVRocmVzaG9sZCB9IGZyb20gXCIuLi8uLi9hbGFybVwiO1xuaW1wb3J0IHsgTWV0cmljV2l0aEFsYXJtU3VwcG9ydCB9IGZyb20gXCIuLi8uLi9tZXRyaWNcIjtcblxuZXhwb3J0IGludGVyZmFjZSBNYXhEb3dudGltZVRocmVzaG9sZCBleHRlbmRzIEN1c3RvbUFsYXJtVGhyZXNob2xkIHtcbiAgcmVhZG9ubHkgbWF4RG93bnRpbWVJbk1pbGxpczogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZ1bGxSZXN0YXJ0Q291bnRUaHJlc2hvbGQgZXh0ZW5kcyBDdXN0b21BbGFybVRocmVzaG9sZCB7XG4gIHJlYWRvbmx5IG1heEZ1bGxSZXN0YXJ0Q291bnQ6IG51bWJlcjtcbn1cblxuZXhwb3J0IGNsYXNzIEtpbmVzaXNEYXRhQW5hbHl0aWNzQWxhcm1GYWN0b3J5IHtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGFsYXJtRmFjdG9yeTogQWxhcm1GYWN0b3J5O1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZXJyb3JBbGFybUZhY3Rvcnk6IEVycm9yQWxhcm1GYWN0b3J5O1xuXG4gIGNvbnN0cnVjdG9yKGFsYXJtRmFjdG9yeTogQWxhcm1GYWN0b3J5KSB7XG4gICAgdGhpcy5hbGFybUZhY3RvcnkgPSBhbGFybUZhY3Rvcnk7XG4gICAgdGhpcy5lcnJvckFsYXJtRmFjdG9yeSA9IG5ldyBFcnJvckFsYXJtRmFjdG9yeShhbGFybUZhY3RvcnkpO1xuICB9XG5cbiAgYWRkRG93bnRpbWVBbGFybShcbiAgICBtZXRyaWM6IE1ldHJpY1dpdGhBbGFybVN1cHBvcnQsXG4gICAgcHJvcHM6IE1heERvd250aW1lVGhyZXNob2xkLFxuICAgIGRpc2FtYmlndWF0b3I/OiBzdHJpbmcsXG4gICkge1xuICAgIHJldHVybiB0aGlzLmFsYXJtRmFjdG9yeS5hZGRBbGFybShtZXRyaWMsIHtcbiAgICAgIHRyZWF0TWlzc2luZ0RhdGE6XG4gICAgICAgIHByb3BzLnRyZWF0TWlzc2luZ0RhdGFPdmVycmlkZSA/PyBUcmVhdE1pc3NpbmdEYXRhLkJSRUFDSElORyxcbiAgICAgIGNvbXBhcmlzb25PcGVyYXRvcjpcbiAgICAgICAgcHJvcHMuY29tcGFyaXNvbk9wZXJhdG9yT3ZlcnJpZGUgPz9cbiAgICAgICAgQ29tcGFyaXNvbk9wZXJhdG9yLkdSRUFURVJfVEhBTl9USFJFU0hPTEQsXG4gICAgICAuLi5wcm9wcyxcbiAgICAgIGRpc2FtYmlndWF0b3IsXG4gICAgICB0aHJlc2hvbGQ6IHByb3BzLm1heERvd250aW1lSW5NaWxsaXMsXG4gICAgICBhbGFybU5hbWVTdWZmaXg6IFwiRG93bnRpbWVcIixcbiAgICAgIGFsYXJtRGVzY3JpcHRpb246IFwiQXBwbGljYXRpb24gaGFzIHRvbyBtdWNoIGRvd250aW1lXCIsXG4gICAgICAvLyB3ZSB3aWxsIGRlZHVwZSBhbnkga2luZCBvZiBtZXNzYWdlIGNvdW50IGlzc3VlIHRvIHRoZSBzYW1lIHRpY2tldFxuICAgICAgYWxhcm1EZWR1cGVTdHJpbmdTdWZmaXg6IFwiS0RBRG93bnRpbWVBbGFybVwiLFxuICAgIH0pO1xuICB9XG5cbiAgYWRkRnVsbFJlc3RhcnRBbGFybShcbiAgICBtZXRyaWM6IE1ldHJpY1dpdGhBbGFybVN1cHBvcnQsXG4gICAgcHJvcHM6IEZ1bGxSZXN0YXJ0Q291bnRUaHJlc2hvbGQsXG4gICAgZGlzYW1iaWd1YXRvcj86IHN0cmluZyxcbiAgKSB7XG4gICAgcmV0dXJuIHRoaXMuYWxhcm1GYWN0b3J5LmFkZEFsYXJtKG1ldHJpYywge1xuICAgICAgdHJlYXRNaXNzaW5nRGF0YTpcbiAgICAgICAgcHJvcHMudHJlYXRNaXNzaW5nRGF0YU92ZXJyaWRlID8/IFRyZWF0TWlzc2luZ0RhdGEuQlJFQUNISU5HLFxuICAgICAgY29tcGFyaXNvbk9wZXJhdG9yOlxuICAgICAgICBwcm9wcy5jb21wYXJpc29uT3BlcmF0b3JPdmVycmlkZSA/P1xuICAgICAgICBDb21wYXJpc29uT3BlcmF0b3IuR1JFQVRFUl9USEFOX1RIUkVTSE9MRCxcbiAgICAgIC4uLnByb3BzLFxuICAgICAgZGlzYW1iaWd1YXRvcixcbiAgICAgIHRocmVzaG9sZDogcHJvcHMubWF4RnVsbFJlc3RhcnRDb3VudCxcbiAgICAgIGFsYXJtTmFtZVN1ZmZpeDogXCJGdWxsUmVzdGFydFwiLFxuICAgICAgYWxhcm1EZXNjcmlwdGlvbjogXCJMYXN0IHN1Ym1pdHRlZCBqb2IgaXMgcmVzdGFydGluZyBtb3JlIHRoYW4gdXN1YWxcIixcbiAgICAgIGFsYXJtRGVkdXBlU3RyaW5nU3VmZml4OiBcIktEQUZ1bGxSZXN0YXJ0QWxhcm1cIixcbiAgICB9KTtcbiAgfVxuXG4gIGFkZEZ1bGxSZXN0YXJ0UmF0ZUFsYXJtKFxuICAgIG1ldHJpYzogTWV0cmljV2l0aEFsYXJtU3VwcG9ydCxcbiAgICBwcm9wczogRXJyb3JSYXRlVGhyZXNob2xkLFxuICAgIGRpc2FtYmlndWF0b3I/OiBzdHJpbmcsXG4gICkge1xuICAgIHJldHVybiB0aGlzLmFsYXJtRmFjdG9yeS5hZGRBbGFybShtZXRyaWMsIHtcbiAgICAgIHRyZWF0TWlzc2luZ0RhdGE6XG4gICAgICAgIHByb3BzLnRyZWF0TWlzc2luZ0RhdGFPdmVycmlkZSA/PyBUcmVhdE1pc3NpbmdEYXRhLkJSRUFDSElORyxcbiAgICAgIGNvbXBhcmlzb25PcGVyYXRvcjpcbiAgICAgICAgcHJvcHMuY29tcGFyaXNvbk9wZXJhdG9yT3ZlcnJpZGUgPz9cbiAgICAgICAgQ29tcGFyaXNvbk9wZXJhdG9yLkdSRUFURVJfVEhBTl9USFJFU0hPTEQsXG4gICAgICAuLi5wcm9wcyxcbiAgICAgIGRpc2FtYmlndWF0b3IsXG4gICAgICB0aHJlc2hvbGQ6IHByb3BzLm1heEVycm9yUmF0ZSxcbiAgICAgIGFsYXJtTmFtZVN1ZmZpeDogXCJGdWxsUmVzdGFydFJhdGVcIixcbiAgICAgIGFsYXJtRGVzY3JpcHRpb246IFwiRnVsbCByZXN0YXJ0IHJhdGUgaXMgdG9vIGhpZ2hcIixcbiAgICAgIGFsYXJtRGVkdXBlU3RyaW5nU3VmZml4OiBcIktEQUZ1bGxSZXN0YXJ0UmF0ZUFsYXJtXCIsXG4gICAgfSk7XG4gIH1cblxuICBhZGRDaGVja3BvaW50RmFpbHVyZUNvdW50QWxhcm0oXG4gICAgbWV0cmljOiBNZXRyaWNXaXRoQWxhcm1TdXBwb3J0LFxuICAgIHByb3BzOiBFcnJvckNvdW50VGhyZXNob2xkLFxuICAgIGRpc2FtYmlndWF0b3I/OiBzdHJpbmcsXG4gICkge1xuICAgIHJldHVybiB0aGlzLmVycm9yQWxhcm1GYWN0b3J5LmFkZEVycm9yQ291bnRBbGFybShcbiAgICAgIG1ldHJpYyxcbiAgICAgIEVycm9yVHlwZS5GQUlMVVJFLFxuICAgICAgcHJvcHMsXG4gICAgICBkaXNhbWJpZ3VhdG9yLFxuICAgICk7XG4gIH1cblxuICBhZGRDaGVja3BvaW50RmFpbHVyZVJhdGVBbGFybShcbiAgICBtZXRyaWM6IE1ldHJpY1dpdGhBbGFybVN1cHBvcnQsXG4gICAgcHJvcHM6IEVycm9yUmF0ZVRocmVzaG9sZCxcbiAgICBkaXNhbWJpZ3VhdG9yPzogc3RyaW5nLFxuICApIHtcbiAgICByZXR1cm4gdGhpcy5lcnJvckFsYXJtRmFjdG9yeS5hZGRFcnJvclJhdGVBbGFybShcbiAgICAgIG1ldHJpYyxcbiAgICAgIEVycm9yVHlwZS5GQUlMVVJFLFxuICAgICAgcHJvcHMsXG4gICAgICBkaXNhbWJpZ3VhdG9yLFxuICAgICk7XG4gIH1cbn1cbiJdfQ==