cdk-monitoring-constructs
Version:
[](https://badge.fury.io/js/cdk-monitoring-constructs) [](https://m
67 lines • 10.1 kB
JavaScript
var _a;
Object.defineProperty(exports, "__esModule", { value: true });
exports.AgeAlarmFactory = void 0;
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
const aws_cloudwatch_1 = require("aws-cdk-lib/aws-cloudwatch");
class AgeAlarmFactory {
constructor(alarmFactory) {
this.alarmFactory = alarmFactory;
}
addDaysToExpiryAlarm(metric, props, disambiguator) {
return this.alarmFactory.addAlarm(metric, {
treatMissingData: props.treatMissingDataOverride ?? aws_cloudwatch_1.TreatMissingData.MISSING,
comparisonOperator: props.comparisonOperatorOverride ??
aws_cloudwatch_1.ComparisonOperator.LESS_THAN_THRESHOLD,
...props,
disambiguator,
threshold: props.minDaysToExpiry,
alarmNameSuffix: "DaysToExpiry",
alarmDescription: "Number of days until expiration is too low.",
});
}
addIteratorMaxAgeAlarm(metric, props, disambiguator) {
return this.alarmFactory.addAlarm(metric, {
treatMissingData: props.treatMissingDataOverride ?? aws_cloudwatch_1.TreatMissingData.MISSING,
comparisonOperator: props.comparisonOperatorOverride ??
aws_cloudwatch_1.ComparisonOperator.GREATER_THAN_THRESHOLD,
...props,
disambiguator,
threshold: props.maxAgeInMillis,
alarmNameSuffix: "Iterator-Age-Max",
alarmDescription: "Iterator Max Age is too high.",
// Dedupe all iterator max age to the same ticket
alarmDedupeStringSuffix: "AnyIteratorMaxAge",
});
}
addMaxOffsetLagAlarm(metric, props, disambiguator) {
return this.alarmFactory.addAlarm(metric, {
treatMissingData: props.treatMissingDataOverride ?? aws_cloudwatch_1.TreatMissingData.MISSING,
comparisonOperator: props.comparisonOperatorOverride ??
aws_cloudwatch_1.ComparisonOperator.GREATER_THAN_THRESHOLD,
...props,
disambiguator,
threshold: props.maxOffsetLag,
alarmNameSuffix: "Offset-Lag-Max",
alarmDescription: "Max Offset Lag is too high.",
// Dedupe all iterator max age to the same ticket
alarmDedupeStringSuffix: "AnyMaxOffsetLag",
});
}
addDaysSinceUpdateAlarm(metric, props, disambiguator) {
return this.alarmFactory.addAlarm(metric, {
treatMissingData: props.treatMissingDataOverride ?? aws_cloudwatch_1.TreatMissingData.MISSING,
comparisonOperator: props.comparisonOperatorOverride ??
aws_cloudwatch_1.ComparisonOperator.GREATER_THAN_THRESHOLD,
...props,
disambiguator,
threshold: props.maxDaysSinceUpdate,
alarmNameSuffix: "DaysSinceUpdate",
alarmDescription: "Number of days since update is too high.",
});
}
}
exports.AgeAlarmFactory = AgeAlarmFactory;
_a = JSII_RTTI_SYMBOL_1;
AgeAlarmFactory[_a] = { fqn: "cdk-monitoring-constructs.AgeAlarmFactory", version: "9.15.2" };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWdlQWxhcm1GYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiQWdlQWxhcm1GYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsK0RBR29DO0FBcUJwQyxNQUFhLGVBQWU7SUFHMUIsWUFBWSxZQUEwQjtRQUNwQyxJQUFJLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQztJQUNuQyxDQUFDO0lBRUQsb0JBQW9CLENBQ2xCLE1BQThCLEVBQzlCLEtBQTRCLEVBQzVCLGFBQXNCO1FBRXRCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFO1lBQ3hDLGdCQUFnQixFQUNkLEtBQUssQ0FBQyx3QkFBd0IsSUFBSSxpQ0FBZ0IsQ0FBQyxPQUFPO1lBQzVELGtCQUFrQixFQUNoQixLQUFLLENBQUMsMEJBQTBCO2dCQUNoQyxtQ0FBa0IsQ0FBQyxtQkFBbUI7WUFDeEMsR0FBRyxLQUFLO1lBQ1IsYUFBYTtZQUNiLFNBQVMsRUFBRSxLQUFLLENBQUMsZUFBZTtZQUNoQyxlQUFlLEVBQUUsY0FBYztZQUMvQixnQkFBZ0IsRUFBRSw2Q0FBNkM7U0FDaEUsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELHNCQUFzQixDQUNwQixNQUE4QixFQUM5QixLQUFzQixFQUN0QixhQUFzQjtRQUV0QixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRTtZQUN4QyxnQkFBZ0IsRUFDZCxLQUFLLENBQUMsd0JBQXdCLElBQUksaUNBQWdCLENBQUMsT0FBTztZQUM1RCxrQkFBa0IsRUFDaEIsS0FBSyxDQUFDLDBCQUEwQjtnQkFDaEMsbUNBQWtCLENBQUMsc0JBQXNCO1lBQzNDLEdBQUcsS0FBSztZQUNSLGFBQWE7WUFDYixTQUFTLEVBQUUsS0FBSyxDQUFDLGNBQWM7WUFDL0IsZUFBZSxFQUFFLGtCQUFrQjtZQUNuQyxnQkFBZ0IsRUFBRSwrQkFBK0I7WUFDakQsaURBQWlEO1lBQ2pELHVCQUF1QixFQUFFLG1CQUFtQjtTQUM3QyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsb0JBQW9CLENBQ2xCLE1BQThCLEVBQzlCLEtBQTRCLEVBQzVCLGFBQXNCO1FBRXRCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFO1lBQ3hDLGdCQUFnQixFQUNkLEtBQUssQ0FBQyx3QkFBd0IsSUFBSSxpQ0FBZ0IsQ0FBQyxPQUFPO1lBQzVELGtCQUFrQixFQUNoQixLQUFLLENBQUMsMEJBQTBCO2dCQUNoQyxtQ0FBa0IsQ0FBQyxzQkFBc0I7WUFDM0MsR0FBRyxLQUFLO1lBQ1IsYUFBYTtZQUNiLFNBQVMsRUFBRSxLQUFLLENBQUMsWUFBWTtZQUM3QixlQUFlLEVBQUUsZ0JBQWdCO1lBQ2pDLGdCQUFnQixFQUFFLDZCQUE2QjtZQUMvQyxpREFBaUQ7WUFDakQsdUJBQXVCLEVBQUUsaUJBQWlCO1NBQzNDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCx1QkFBdUIsQ0FDckIsTUFBOEIsRUFDOUIsS0FBK0IsRUFDL0IsYUFBc0I7UUFFdEIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUU7WUFDeEMsZ0JBQWdCLEVBQ2QsS0FBSyxDQUFDLHdCQUF3QixJQUFJLGlDQUFnQixDQUFDLE9BQU87WUFDNUQsa0JBQWtCLEVBQ2hCLEtBQUssQ0FBQywwQkFBMEI7Z0JBQ2hDLG1DQUFrQixDQUFDLHNCQUFzQjtZQUMzQyxHQUFHLEtBQUs7WUFDUixhQUFhO1lBQ2IsU0FBUyxFQUFFLEtBQUssQ0FBQyxrQkFBa0I7WUFDbkMsZUFBZSxFQUFFLGlCQUFpQjtZQUNsQyxnQkFBZ0IsRUFBRSwwQ0FBMEM7U0FDN0QsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7QUFyRkgsMENBc0ZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcGFyaXNvbk9wZXJhdG9yLFxuICBUcmVhdE1pc3NpbmdEYXRhLFxufSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWNsb3Vkd2F0Y2hcIjtcblxuaW1wb3J0IHsgQWxhcm1GYWN0b3J5LCBDdXN0b21BbGFybVRocmVzaG9sZCB9IGZyb20gXCIuLi8uLi9hbGFybVwiO1xuaW1wb3J0IHsgTWV0cmljV2l0aEFsYXJtU3VwcG9ydCB9IGZyb20gXCIuLi8uLi9tZXRyaWNcIjtcblxuZXhwb3J0IGludGVyZmFjZSBEYXlzVG9FeHBpcnlUaHJlc2hvbGQgZXh0ZW5kcyBDdXN0b21BbGFybVRocmVzaG9sZCB7XG4gIHJlYWRvbmx5IG1pbkRheXNUb0V4cGlyeTogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1heEFnZVRocmVzaG9sZCBleHRlbmRzIEN1c3RvbUFsYXJtVGhyZXNob2xkIHtcbiAgcmVhZG9ubHkgbWF4QWdlSW5NaWxsaXM6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNYXhPZmZzZXRMYWdUaHJlc2hvbGQgZXh0ZW5kcyBDdXN0b21BbGFybVRocmVzaG9sZCB7XG4gIHJlYWRvbmx5IG1heE9mZnNldExhZzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERheXNTaW5jZVVwZGF0ZVRocmVzaG9sZCBleHRlbmRzIEN1c3RvbUFsYXJtVGhyZXNob2xkIHtcbiAgcmVhZG9ubHkgbWF4RGF5c1NpbmNlVXBkYXRlOiBudW1iZXI7XG59XG5cbmV4cG9ydCBjbGFzcyBBZ2VBbGFybUZhY3Rvcnkge1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgYWxhcm1GYWN0b3J5OiBBbGFybUZhY3Rvcnk7XG5cbiAgY29uc3RydWN0b3IoYWxhcm1GYWN0b3J5OiBBbGFybUZhY3RvcnkpIHtcbiAgICB0aGlzLmFsYXJtRmFjdG9yeSA9IGFsYXJtRmFjdG9yeTtcbiAgfVxuXG4gIGFkZERheXNUb0V4cGlyeUFsYXJtKFxuICAgIG1ldHJpYzogTWV0cmljV2l0aEFsYXJtU3VwcG9ydCxcbiAgICBwcm9wczogRGF5c1RvRXhwaXJ5VGhyZXNob2xkLFxuICAgIGRpc2FtYmlndWF0b3I/OiBzdHJpbmcsXG4gICkge1xuICAgIHJldHVybiB0aGlzLmFsYXJtRmFjdG9yeS5hZGRBbGFybShtZXRyaWMsIHtcbiAgICAgIHRyZWF0TWlzc2luZ0RhdGE6XG4gICAgICAgIHByb3BzLnRyZWF0TWlzc2luZ0RhdGFPdmVycmlkZSA/PyBUcmVhdE1pc3NpbmdEYXRhLk1JU1NJTkcsXG4gICAgICBjb21wYXJpc29uT3BlcmF0b3I6XG4gICAgICAgIHByb3BzLmNvbXBhcmlzb25PcGVyYXRvck92ZXJyaWRlID8/XG4gICAgICAgIENvbXBhcmlzb25PcGVyYXRvci5MRVNTX1RIQU5fVEhSRVNIT0xELFxuICAgICAgLi4ucHJvcHMsXG4gICAgICBkaXNhbWJpZ3VhdG9yLFxuICAgICAgdGhyZXNob2xkOiBwcm9wcy5taW5EYXlzVG9FeHBpcnksXG4gICAgICBhbGFybU5hbWVTdWZmaXg6IFwiRGF5c1RvRXhwaXJ5XCIsXG4gICAgICBhbGFybURlc2NyaXB0aW9uOiBcIk51bWJlciBvZiBkYXlzIHVudGlsIGV4cGlyYXRpb24gaXMgdG9vIGxvdy5cIixcbiAgICB9KTtcbiAgfVxuXG4gIGFkZEl0ZXJhdG9yTWF4QWdlQWxhcm0oXG4gICAgbWV0cmljOiBNZXRyaWNXaXRoQWxhcm1TdXBwb3J0LFxuICAgIHByb3BzOiBNYXhBZ2VUaHJlc2hvbGQsXG4gICAgZGlzYW1iaWd1YXRvcj86IHN0cmluZyxcbiAgKSB7XG4gICAgcmV0dXJuIHRoaXMuYWxhcm1GYWN0b3J5LmFkZEFsYXJtKG1ldHJpYywge1xuICAgICAgdHJlYXRNaXNzaW5nRGF0YTpcbiAgICAgICAgcHJvcHMudHJlYXRNaXNzaW5nRGF0YU92ZXJyaWRlID8/IFRyZWF0TWlzc2luZ0RhdGEuTUlTU0lORyxcbiAgICAgIGNvbXBhcmlzb25PcGVyYXRvcjpcbiAgICAgICAgcHJvcHMuY29tcGFyaXNvbk9wZXJhdG9yT3ZlcnJpZGUgPz9cbiAgICAgICAgQ29tcGFyaXNvbk9wZXJhdG9yLkdSRUFURVJfVEhBTl9USFJFU0hPTEQsXG4gICAgICAuLi5wcm9wcyxcbiAgICAgIGRpc2FtYmlndWF0b3IsXG4gICAgICB0aHJlc2hvbGQ6IHByb3BzLm1heEFnZUluTWlsbGlzLFxuICAgICAgYWxhcm1OYW1lU3VmZml4OiBcIkl0ZXJhdG9yLUFnZS1NYXhcIixcbiAgICAgIGFsYXJtRGVzY3JpcHRpb246IFwiSXRlcmF0b3IgTWF4IEFnZSBpcyB0b28gaGlnaC5cIixcbiAgICAgIC8vIERlZHVwZSBhbGwgaXRlcmF0b3IgbWF4IGFnZSB0byB0aGUgc2FtZSB0aWNrZXRcbiAgICAgIGFsYXJtRGVkdXBlU3RyaW5nU3VmZml4OiBcIkFueUl0ZXJhdG9yTWF4QWdlXCIsXG4gICAgfSk7XG4gIH1cblxuICBhZGRNYXhPZmZzZXRMYWdBbGFybShcbiAgICBtZXRyaWM6IE1ldHJpY1dpdGhBbGFybVN1cHBvcnQsXG4gICAgcHJvcHM6IE1heE9mZnNldExhZ1RocmVzaG9sZCxcbiAgICBkaXNhbWJpZ3VhdG9yPzogc3RyaW5nLFxuICApIHtcbiAgICByZXR1cm4gdGhpcy5hbGFybUZhY3RvcnkuYWRkQWxhcm0obWV0cmljLCB7XG4gICAgICB0cmVhdE1pc3NpbmdEYXRhOlxuICAgICAgICBwcm9wcy50cmVhdE1pc3NpbmdEYXRhT3ZlcnJpZGUgPz8gVHJlYXRNaXNzaW5nRGF0YS5NSVNTSU5HLFxuICAgICAgY29tcGFyaXNvbk9wZXJhdG9yOlxuICAgICAgICBwcm9wcy5jb21wYXJpc29uT3BlcmF0b3JPdmVycmlkZSA/P1xuICAgICAgICBDb21wYXJpc29uT3BlcmF0b3IuR1JFQVRFUl9USEFOX1RIUkVTSE9MRCxcbiAgICAgIC4uLnByb3BzLFxuICAgICAgZGlzYW1iaWd1YXRvcixcbiAgICAgIHRocmVzaG9sZDogcHJvcHMubWF4T2Zmc2V0TGFnLFxuICAgICAgYWxhcm1OYW1lU3VmZml4OiBcIk9mZnNldC1MYWctTWF4XCIsXG4gICAgICBhbGFybURlc2NyaXB0aW9uOiBcIk1heCBPZmZzZXQgTGFnIGlzIHRvbyBoaWdoLlwiLFxuICAgICAgLy8gRGVkdXBlIGFsbCBpdGVyYXRvciBtYXggYWdlIHRvIHRoZSBzYW1lIHRpY2tldFxuICAgICAgYWxhcm1EZWR1cGVTdHJpbmdTdWZmaXg6IFwiQW55TWF4T2Zmc2V0TGFnXCIsXG4gICAgfSk7XG4gIH1cblxuICBhZGREYXlzU2luY2VVcGRhdGVBbGFybShcbiAgICBtZXRyaWM6IE1ldHJpY1dpdGhBbGFybVN1cHBvcnQsXG4gICAgcHJvcHM6IERheXNTaW5jZVVwZGF0ZVRocmVzaG9sZCxcbiAgICBkaXNhbWJpZ3VhdG9yPzogc3RyaW5nLFxuICApIHtcbiAgICByZXR1cm4gdGhpcy5hbGFybUZhY3RvcnkuYWRkQWxhcm0obWV0cmljLCB7XG4gICAgICB0cmVhdE1pc3NpbmdEYXRhOlxuICAgICAgICBwcm9wcy50cmVhdE1pc3NpbmdEYXRhT3ZlcnJpZGUgPz8gVHJlYXRNaXNzaW5nRGF0YS5NSVNTSU5HLFxuICAgICAgY29tcGFyaXNvbk9wZXJhdG9yOlxuICAgICAgICBwcm9wcy5jb21wYXJpc29uT3BlcmF0b3JPdmVycmlkZSA/P1xuICAgICAgICBDb21wYXJpc29uT3BlcmF0b3IuR1JFQVRFUl9USEFOX1RIUkVTSE9MRCxcbiAgICAgIC4uLnByb3BzLFxuICAgICAgZGlzYW1iaWd1YXRvcixcbiAgICAgIHRocmVzaG9sZDogcHJvcHMubWF4RGF5c1NpbmNlVXBkYXRlLFxuICAgICAgYWxhcm1OYW1lU3VmZml4OiBcIkRheXNTaW5jZVVwZGF0ZVwiLFxuICAgICAgYWxhcm1EZXNjcmlwdGlvbjogXCJOdW1iZXIgb2YgZGF5cyBzaW5jZSB1cGRhdGUgaXMgdG9vIGhpZ2guXCIsXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
;