cdk-monitoring-constructs
Version:
[](https://badge.fury.io/js/cdk-monitoring-constructs) [](https://m
55 lines • 7.23 kB
JavaScript
;
var _a;
Object.defineProperty(exports, "__esModule", { value: true });
exports.OpenSearchServerlessIndexMonitoring = void 0;
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
const aws_cloudwatch_1 = require("aws-cdk-lib/aws-cloudwatch");
const OpenSearchServerlessIndexMetricFactory_1 = require("./OpenSearchServerlessIndexMetricFactory");
const common_1 = require("../../common");
const dashboard_1 = require("../../dashboard");
/**
* @experimental This is subject to change if an L2 construct becomes available.
*/
class OpenSearchServerlessIndexMonitoring extends common_1.Monitoring {
constructor(scope, props) {
super(scope, props);
const namingStrategy = new dashboard_1.MonitoringNamingStrategy({
...props,
fallbackConstructName: props.indexName,
});
this.title = namingStrategy.resolveHumanReadableName();
const metricFactory = new OpenSearchServerlessIndexMetricFactory_1.OpenSearchServerlessIndexMetricFactory(scope.createMetricFactory(), props);
this.metricIndexSearchableDocuments =
metricFactory.metricIndexSearchableDocuments();
props.useCreatedAlarms?.consume(this.createdAlarms());
}
summaryWidgets() {
return this.widgets();
}
widgets() {
return [
this.createTitleWidget(),
this.createDocumentsWidget(common_1.FullWidth, common_1.DefaultGraphWidgetHeight),
];
}
createTitleWidget() {
return new dashboard_1.MonitoringHeaderWidget({
family: "OpenSearch Serverless Index",
title: this.title,
// TODO: add goToLinkUrl for AWS Console
});
}
createDocumentsWidget(width, height) {
return new aws_cloudwatch_1.GraphWidget({
width,
height,
title: "Documents",
left: [this.metricIndexSearchableDocuments],
leftYAxis: common_1.CountAxisFromZero,
});
}
}
exports.OpenSearchServerlessIndexMonitoring = OpenSearchServerlessIndexMonitoring;
_a = JSII_RTTI_SYMBOL_1;
OpenSearchServerlessIndexMonitoring[_a] = { fqn: "cdk-monitoring-constructs.OpenSearchServerlessIndexMonitoring", version: "10.0.0" };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3BlblNlYXJjaFNlcnZlcmxlc3NJbmRleE1vbml0b3JpbmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJPcGVuU2VhcmNoU2VydmVybGVzc0luZGV4TW9uaXRvcmluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLCtEQUF5RDtBQUd6RCxxR0FBa0c7QUFDbEcseUNBUXNCO0FBQ3RCLCtDQUd5QjtBQVF6Qjs7R0FFRztBQUNILE1BQWEsbUNBQW9DLFNBQVEsbUJBQVU7SUFLakUsWUFDRSxLQUFzQixFQUN0QixLQUErQztRQUUvQyxLQUFLLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRXBCLE1BQU0sY0FBYyxHQUFHLElBQUksb0NBQXdCLENBQUM7WUFDbEQsR0FBRyxLQUFLO1lBQ1IscUJBQXFCLEVBQUUsS0FBSyxDQUFDLFNBQVM7U0FDdkMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLEtBQUssR0FBRyxjQUFjLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztRQUV2RCxNQUFNLGFBQWEsR0FBRyxJQUFJLCtFQUFzQyxDQUM5RCxLQUFLLENBQUMsbUJBQW1CLEVBQUUsRUFDM0IsS0FBSyxDQUNOLENBQUM7UUFFRixJQUFJLENBQUMsOEJBQThCO1lBQ2pDLGFBQWEsQ0FBQyw4QkFBOEIsRUFBRSxDQUFDO1FBRWpELEtBQUssQ0FBQyxnQkFBZ0IsRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVELGNBQWM7UUFDWixPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQsT0FBTztRQUNMLE9BQU87WUFDTCxJQUFJLENBQUMsaUJBQWlCLEVBQUU7WUFDeEIsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGtCQUFTLEVBQUUsaUNBQXdCLENBQUM7U0FDaEUsQ0FBQztJQUNKLENBQUM7SUFFUyxpQkFBaUI7UUFDekIsT0FBTyxJQUFJLGtDQUFzQixDQUFDO1lBQ2hDLE1BQU0sRUFBRSw2QkFBNkI7WUFDckMsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO1lBQ2pCLHdDQUF3QztTQUN6QyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRVMscUJBQXFCLENBQUMsS0FBYSxFQUFFLE1BQWM7UUFDM0QsT0FBTyxJQUFJLDRCQUFXLENBQUM7WUFDckIsS0FBSztZQUNMLE1BQU07WUFDTixLQUFLLEVBQUUsV0FBVztZQUNsQixJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsOEJBQThCLENBQUM7WUFDM0MsU0FBUyxFQUFFLDBCQUFpQjtTQUM3QixDQUFDLENBQUM7SUFDTCxDQUFDOztBQXZESCxrRkF3REMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IElXaWRnZXQgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWNsb3Vkd2F0Y2hcIjtcbmltcG9ydCB7IEdyYXBoV2lkZ2V0IH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1jbG91ZHdhdGNoXCI7XG5cbmltcG9ydCB0eXBlIHsgT3BlblNlYXJjaFNlcnZlcmxlc3NJbmRleE1ldHJpY0ZhY3RvcnlQcm9wcyB9IGZyb20gXCIuL09wZW5TZWFyY2hTZXJ2ZXJsZXNzSW5kZXhNZXRyaWNGYWN0b3J5XCI7XG5pbXBvcnQgeyBPcGVuU2VhcmNoU2VydmVybGVzc0luZGV4TWV0cmljRmFjdG9yeSB9IGZyb20gXCIuL09wZW5TZWFyY2hTZXJ2ZXJsZXNzSW5kZXhNZXRyaWNGYWN0b3J5XCI7XG5pbXBvcnQge1xuICBCYXNlTW9uaXRvcmluZ1Byb3BzLFxuICBNZXRyaWNXaXRoQWxhcm1TdXBwb3J0LFxuICBNb25pdG9yaW5nLFxuICBNb25pdG9yaW5nU2NvcGUsXG4gIEZ1bGxXaWR0aCxcbiAgRGVmYXVsdEdyYXBoV2lkZ2V0SGVpZ2h0LFxuICBDb3VudEF4aXNGcm9tWmVybyxcbn0gZnJvbSBcIi4uLy4uL2NvbW1vblwiO1xuaW1wb3J0IHtcbiAgTW9uaXRvcmluZ05hbWluZ1N0cmF0ZWd5LFxuICBNb25pdG9yaW5nSGVhZGVyV2lkZ2V0LFxufSBmcm9tIFwiLi4vLi4vZGFzaGJvYXJkXCI7XG5cbmV4cG9ydCB0eXBlIE9wZW5TZWFyY2hTZXJ2ZXJsZXNzSW5kZXhNb25pdG9yaW5nT3B0aW9ucyA9IEJhc2VNb25pdG9yaW5nUHJvcHM7XG5cbmV4cG9ydCBpbnRlcmZhY2UgT3BlblNlYXJjaFNlcnZlcmxlc3NJbmRleE1vbml0b3JpbmdQcm9wc1xuICBleHRlbmRzIE9wZW5TZWFyY2hTZXJ2ZXJsZXNzSW5kZXhNZXRyaWNGYWN0b3J5UHJvcHMsXG4gICAgT3BlblNlYXJjaFNlcnZlcmxlc3NJbmRleE1vbml0b3JpbmdPcHRpb25zIHt9XG5cbi8qKlxuICogQGV4cGVyaW1lbnRhbCBUaGlzIGlzIHN1YmplY3QgdG8gY2hhbmdlIGlmIGFuIEwyIGNvbnN0cnVjdCBiZWNvbWVzIGF2YWlsYWJsZS5cbiAqL1xuZXhwb3J0IGNsYXNzIE9wZW5TZWFyY2hTZXJ2ZXJsZXNzSW5kZXhNb25pdG9yaW5nIGV4dGVuZHMgTW9uaXRvcmluZyB7XG4gIHJlYWRvbmx5IHRpdGxlOiBzdHJpbmc7XG5cbiAgcmVhZG9ubHkgbWV0cmljSW5kZXhTZWFyY2hhYmxlRG9jdW1lbnRzOiBNZXRyaWNXaXRoQWxhcm1TdXBwb3J0O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHNjb3BlOiBNb25pdG9yaW5nU2NvcGUsXG4gICAgcHJvcHM6IE9wZW5TZWFyY2hTZXJ2ZXJsZXNzSW5kZXhNb25pdG9yaW5nUHJvcHMsXG4gICkge1xuICAgIHN1cGVyKHNjb3BlLCBwcm9wcyk7XG5cbiAgICBjb25zdCBuYW1pbmdTdHJhdGVneSA9IG5ldyBNb25pdG9yaW5nTmFtaW5nU3RyYXRlZ3koe1xuICAgICAgLi4ucHJvcHMsXG4gICAgICBmYWxsYmFja0NvbnN0cnVjdE5hbWU6IHByb3BzLmluZGV4TmFtZSxcbiAgICB9KTtcbiAgICB0aGlzLnRpdGxlID0gbmFtaW5nU3RyYXRlZ3kucmVzb2x2ZUh1bWFuUmVhZGFibGVOYW1lKCk7XG5cbiAgICBjb25zdCBtZXRyaWNGYWN0b3J5ID0gbmV3IE9wZW5TZWFyY2hTZXJ2ZXJsZXNzSW5kZXhNZXRyaWNGYWN0b3J5KFxuICAgICAgc2NvcGUuY3JlYXRlTWV0cmljRmFjdG9yeSgpLFxuICAgICAgcHJvcHMsXG4gICAgKTtcblxuICAgIHRoaXMubWV0cmljSW5kZXhTZWFyY2hhYmxlRG9jdW1lbnRzID1cbiAgICAgIG1ldHJpY0ZhY3RvcnkubWV0cmljSW5kZXhTZWFyY2hhYmxlRG9jdW1lbnRzKCk7XG5cbiAgICBwcm9wcy51c2VDcmVhdGVkQWxhcm1zPy5jb25zdW1lKHRoaXMuY3JlYXRlZEFsYXJtcygpKTtcbiAgfVxuXG4gIHN1bW1hcnlXaWRnZXRzKCk6IElXaWRnZXRbXSB7XG4gICAgcmV0dXJuIHRoaXMud2lkZ2V0cygpO1xuICB9XG5cbiAgd2lkZ2V0cygpOiBJV2lkZ2V0W10ge1xuICAgIHJldHVybiBbXG4gICAgICB0aGlzLmNyZWF0ZVRpdGxlV2lkZ2V0KCksXG4gICAgICB0aGlzLmNyZWF0ZURvY3VtZW50c1dpZGdldChGdWxsV2lkdGgsIERlZmF1bHRHcmFwaFdpZGdldEhlaWdodCksXG4gICAgXTtcbiAgfVxuXG4gIHByb3RlY3RlZCBjcmVhdGVUaXRsZVdpZGdldCgpOiBJV2lkZ2V0IHtcbiAgICByZXR1cm4gbmV3IE1vbml0b3JpbmdIZWFkZXJXaWRnZXQoe1xuICAgICAgZmFtaWx5OiBcIk9wZW5TZWFyY2ggU2VydmVybGVzcyBJbmRleFwiLFxuICAgICAgdGl0bGU6IHRoaXMudGl0bGUsXG4gICAgICAvLyBUT0RPOiBhZGQgZ29Ub0xpbmtVcmwgZm9yIEFXUyBDb25zb2xlXG4gICAgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgY3JlYXRlRG9jdW1lbnRzV2lkZ2V0KHdpZHRoOiBudW1iZXIsIGhlaWdodDogbnVtYmVyKTogSVdpZGdldCB7XG4gICAgcmV0dXJuIG5ldyBHcmFwaFdpZGdldCh7XG4gICAgICB3aWR0aCxcbiAgICAgIGhlaWdodCxcbiAgICAgIHRpdGxlOiBcIkRvY3VtZW50c1wiLFxuICAgICAgbGVmdDogW3RoaXMubWV0cmljSW5kZXhTZWFyY2hhYmxlRG9jdW1lbnRzXSxcbiAgICAgIGxlZnRZQXhpczogQ291bnRBeGlzRnJvbVplcm8sXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==