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

70 lines 10.2 kB
"use strict"; var _a; Object.defineProperty(exports, "__esModule", { value: true }); exports.FluentBitMetricFactory = void 0; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const aws_logs_1 = require("aws-cdk-lib/aws-logs"); const FluentBitConstants_1 = require("./FluentBitConstants"); const common_1 = require("../../common"); class FluentBitMetricFactory extends common_1.BaseMetricFactory { constructor(scope, props) { super(scope.createMetricFactory(), props); this.scope = scope; this.namespace = props.namespace ?? this.metricFactory.getNamespaceWithFallback(props.namespace); } filterMetrics(logGroup) { return Object.values(FluentBitConstants_1.FluentBitFilterMetricTag).map((metricName) => { return this.pluginMetric(logGroup, metricName); }); } outputMetrics(logGroup) { return Object.values(FluentBitConstants_1.FluentBitOutputMetricTag).map((metricName) => { return this.pluginMetric(logGroup, metricName); }); } inputMetrics(logGroup) { return Object.values(FluentBitConstants_1.FluentBitInputMetricTag).map((metricName) => { return this.pluginMetric(logGroup, metricName); }); } pluginMetric(logGroup, metricName) { const metricFilter = new aws_logs_1.MetricFilter(this.scope, `FluentBit-${metricName}-${logGroup}-MetricFilter`, { logGroup: logGroup, filterPattern: aws_logs_1.FilterPattern.literal(`{ $.metric = "${metricName}" }`), metricNamespace: this.namespace, metricName, metricValue: "$.value", }); return metricFilter.metric({ statistic: common_1.MetricStatistic.MAX, region: this.region, account: this.account, }); } storageMetrics(logGroup) { return Object.values(FluentBitConstants_1.FluentBitStorageMetricTag).map((metricName) => { const valueString = `$.storage_layer.chunks.${metricName}`; const metricFilter = new aws_logs_1.MetricFilter(this.scope, `FluentBit-${metricName}-${logGroup}-MetricFilter`, { logGroup: logGroup, filterPattern: aws_logs_1.FilterPattern.literal(`{ ${valueString} = * }`), metricNamespace: this.namespace, metricName, metricValue: `${valueString}`, }); return metricFilter.metric({ statistic: common_1.MetricStatistic.MAX, region: this.region, account: this.account, }); }); } metricsWithoutWidgets(logGroup) { Object.values(FluentBitConstants_1.FluentBitMetricsWithoutWidget).forEach((metricName) => this.pluginMetric(logGroup, metricName)); } } exports.FluentBitMetricFactory = FluentBitMetricFactory; _a = JSII_RTTI_SYMBOL_1; FluentBitMetricFactory[_a] = { fqn: "cdk-monitoring-constructs.FluentBitMetricFactory", version: "9.15.2" }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRmx1ZW50Qml0TWV0cmljRmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIkZsdWVudEJpdE1ldHJpY0ZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxtREFBOEU7QUFDOUUsNkRBTThCO0FBQzlCLHlDQUtzQjtBQVV0QixNQUFhLHNCQUF1QixTQUFRLDBCQUE4QztJQUl4RixZQUFZLEtBQXNCLEVBQUUsS0FBa0M7UUFDcEUsS0FBSyxDQUFDLEtBQUssQ0FBQyxtQkFBbUIsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRTFDLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxTQUFTO1lBQ1osS0FBSyxDQUFDLFNBQVM7Z0JBQ2YsSUFBSSxDQUFDLGFBQWEsQ0FBQyx3QkFBd0IsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVELGFBQWEsQ0FBQyxRQUFtQjtRQUMvQixPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsNkNBQXdCLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRTtZQUNoRSxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ2pELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGFBQWEsQ0FBQyxRQUFtQjtRQUMvQixPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsNkNBQXdCLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRTtZQUNoRSxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ2pELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFlBQVksQ0FBQyxRQUFtQjtRQUM5QixPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsNENBQXVCLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRTtZQUMvRCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ2pELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLFlBQVksQ0FBQyxRQUFtQixFQUFFLFVBQWtCO1FBQzFELE1BQU0sWUFBWSxHQUFHLElBQUksdUJBQVksQ0FDbkMsSUFBSSxDQUFDLEtBQUssRUFDVixhQUFhLFVBQVUsSUFBSSxRQUFRLGVBQWUsRUFDbEQ7WUFDRSxRQUFRLEVBQUUsUUFBUTtZQUNsQixhQUFhLEVBQUUsd0JBQWEsQ0FBQyxPQUFPLENBQUMsaUJBQWlCLFVBQVUsS0FBSyxDQUFDO1lBQ3RFLGVBQWUsRUFBRSxJQUFJLENBQUMsU0FBUztZQUMvQixVQUFVO1lBQ1YsV0FBVyxFQUFFLFNBQVM7U0FDdkIsQ0FDRixDQUFDO1FBQ0YsT0FBTyxZQUFZLENBQUMsTUFBTSxDQUFDO1lBQ3pCLFNBQVMsRUFBRSx3QkFBZSxDQUFDLEdBQUc7WUFDOUIsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1lBQ25CLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztTQUN0QixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsY0FBYyxDQUFDLFFBQW1CO1FBQ2hDLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyw4Q0FBeUIsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFO1lBQ2pFLE1BQU0sV0FBVyxHQUFHLDBCQUEwQixVQUFVLEVBQUUsQ0FBQztZQUMzRCxNQUFNLFlBQVksR0FBRyxJQUFJLHVCQUFZLENBQ25DLElBQUksQ0FBQyxLQUFLLEVBQ1YsYUFBYSxVQUFVLElBQUksUUFBUSxlQUFlLEVBQ2xEO2dCQUNFLFFBQVEsRUFBRSxRQUFRO2dCQUNsQixhQUFhLEVBQUUsd0JBQWEsQ0FBQyxPQUFPLENBQUMsS0FBSyxXQUFXLFFBQVEsQ0FBQztnQkFDOUQsZUFBZSxFQUFFLElBQUksQ0FBQyxTQUFTO2dCQUMvQixVQUFVO2dCQUNWLFdBQVcsRUFBRSxHQUFHLFdBQVcsRUFBRTthQUM5QixDQUNGLENBQUM7WUFDRixPQUFPLFlBQVksQ0FBQyxNQUFNLENBQUM7Z0JBQ3pCLFNBQVMsRUFBRSx3QkFBZSxDQUFDLEdBQUc7Z0JBQzlCLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtnQkFDbkIsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO2FBQ3RCLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELHFCQUFxQixDQUFDLFFBQW1CO1FBQ3ZDLE1BQU0sQ0FBQyxNQUFNLENBQUMsa0RBQTZCLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUNsRSxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsQ0FDeEMsQ0FBQztJQUNKLENBQUM7O0FBNUVILHdEQTZFQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZpbHRlclBhdHRlcm4sIElMb2dHcm91cCwgTWV0cmljRmlsdGVyIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1sb2dzXCI7XG5pbXBvcnQge1xuICBGbHVlbnRCaXRGaWx0ZXJNZXRyaWNUYWcsXG4gIEZsdWVudEJpdElucHV0TWV0cmljVGFnLFxuICBGbHVlbnRCaXRNZXRyaWNzV2l0aG91dFdpZGdldCxcbiAgRmx1ZW50Qml0T3V0cHV0TWV0cmljVGFnLFxuICBGbHVlbnRCaXRTdG9yYWdlTWV0cmljVGFnLFxufSBmcm9tIFwiLi9GbHVlbnRCaXRDb25zdGFudHNcIjtcbmltcG9ydCB7XG4gIEJhc2VNZXRyaWNGYWN0b3J5LFxuICBCYXNlTWV0cmljRmFjdG9yeVByb3BzLFxuICBNZXRyaWNTdGF0aXN0aWMsXG4gIE1vbml0b3JpbmdTY29wZSxcbn0gZnJvbSBcIi4uLy4uL2NvbW1vblwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIEZsdWVudEJpdE1ldHJpY0ZhY3RvcnlQcm9wcyBleHRlbmRzIEJhc2VNZXRyaWNGYWN0b3J5UHJvcHMge1xuICAvKipcbiAgICogTmFtZXNwYWNlIHRoYXQgbWV0cmljcyB3aWxsIGJlIGVtaXR0ZWQgdG8uXG4gICAqIEBkZWZhdWx0IG1ldHJpYyBmYWN0b3J5IGRlZmF1bHRcbiAgICovXG4gIHJlYWRvbmx5IG5hbWVzcGFjZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGNsYXNzIEZsdWVudEJpdE1ldHJpY0ZhY3RvcnkgZXh0ZW5kcyBCYXNlTWV0cmljRmFjdG9yeTxGbHVlbnRCaXRNZXRyaWNGYWN0b3J5UHJvcHM+IHtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IG5hbWVzcGFjZTogc3RyaW5nO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgc2NvcGU6IE1vbml0b3JpbmdTY29wZTtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogTW9uaXRvcmluZ1Njb3BlLCBwcm9wczogRmx1ZW50Qml0TWV0cmljRmFjdG9yeVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUuY3JlYXRlTWV0cmljRmFjdG9yeSgpLCBwcm9wcyk7XG5cbiAgICB0aGlzLnNjb3BlID0gc2NvcGU7XG4gICAgdGhpcy5uYW1lc3BhY2UgPVxuICAgICAgcHJvcHMubmFtZXNwYWNlID8/XG4gICAgICB0aGlzLm1ldHJpY0ZhY3RvcnkuZ2V0TmFtZXNwYWNlV2l0aEZhbGxiYWNrKHByb3BzLm5hbWVzcGFjZSk7XG4gIH1cblxuICBmaWx0ZXJNZXRyaWNzKGxvZ0dyb3VwOiBJTG9nR3JvdXApIHtcbiAgICByZXR1cm4gT2JqZWN0LnZhbHVlcyhGbHVlbnRCaXRGaWx0ZXJNZXRyaWNUYWcpLm1hcCgobWV0cmljTmFtZSkgPT4ge1xuICAgICAgcmV0dXJuIHRoaXMucGx1Z2luTWV0cmljKGxvZ0dyb3VwLCBtZXRyaWNOYW1lKTtcbiAgICB9KTtcbiAgfVxuXG4gIG91dHB1dE1ldHJpY3MobG9nR3JvdXA6IElMb2dHcm91cCkge1xuICAgIHJldHVybiBPYmplY3QudmFsdWVzKEZsdWVudEJpdE91dHB1dE1ldHJpY1RhZykubWFwKChtZXRyaWNOYW1lKSA9PiB7XG4gICAgICByZXR1cm4gdGhpcy5wbHVnaW5NZXRyaWMobG9nR3JvdXAsIG1ldHJpY05hbWUpO1xuICAgIH0pO1xuICB9XG5cbiAgaW5wdXRNZXRyaWNzKGxvZ0dyb3VwOiBJTG9nR3JvdXApIHtcbiAgICByZXR1cm4gT2JqZWN0LnZhbHVlcyhGbHVlbnRCaXRJbnB1dE1ldHJpY1RhZykubWFwKChtZXRyaWNOYW1lKSA9PiB7XG4gICAgICByZXR1cm4gdGhpcy5wbHVnaW5NZXRyaWMobG9nR3JvdXAsIG1ldHJpY05hbWUpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBwbHVnaW5NZXRyaWMobG9nR3JvdXA6IElMb2dHcm91cCwgbWV0cmljTmFtZTogc3RyaW5nKSB7XG4gICAgY29uc3QgbWV0cmljRmlsdGVyID0gbmV3IE1ldHJpY0ZpbHRlcihcbiAgICAgIHRoaXMuc2NvcGUsXG4gICAgICBgRmx1ZW50Qml0LSR7bWV0cmljTmFtZX0tJHtsb2dHcm91cH0tTWV0cmljRmlsdGVyYCxcbiAgICAgIHtcbiAgICAgICAgbG9nR3JvdXA6IGxvZ0dyb3VwLFxuICAgICAgICBmaWx0ZXJQYXR0ZXJuOiBGaWx0ZXJQYXR0ZXJuLmxpdGVyYWwoYHsgJC5tZXRyaWMgPSBcIiR7bWV0cmljTmFtZX1cIiB9YCksXG4gICAgICAgIG1ldHJpY05hbWVzcGFjZTogdGhpcy5uYW1lc3BhY2UsXG4gICAgICAgIG1ldHJpY05hbWUsXG4gICAgICAgIG1ldHJpY1ZhbHVlOiBcIiQudmFsdWVcIixcbiAgICAgIH0sXG4gICAgKTtcbiAgICByZXR1cm4gbWV0cmljRmlsdGVyLm1ldHJpYyh7XG4gICAgICBzdGF0aXN0aWM6IE1ldHJpY1N0YXRpc3RpYy5NQVgsXG4gICAgICByZWdpb246IHRoaXMucmVnaW9uLFxuICAgICAgYWNjb3VudDogdGhpcy5hY2NvdW50LFxuICAgIH0pO1xuICB9XG5cbiAgc3RvcmFnZU1ldHJpY3MobG9nR3JvdXA6IElMb2dHcm91cCkge1xuICAgIHJldHVybiBPYmplY3QudmFsdWVzKEZsdWVudEJpdFN0b3JhZ2VNZXRyaWNUYWcpLm1hcCgobWV0cmljTmFtZSkgPT4ge1xuICAgICAgY29uc3QgdmFsdWVTdHJpbmcgPSBgJC5zdG9yYWdlX2xheWVyLmNodW5rcy4ke21ldHJpY05hbWV9YDtcbiAgICAgIGNvbnN0IG1ldHJpY0ZpbHRlciA9IG5ldyBNZXRyaWNGaWx0ZXIoXG4gICAgICAgIHRoaXMuc2NvcGUsXG4gICAgICAgIGBGbHVlbnRCaXQtJHttZXRyaWNOYW1lfS0ke2xvZ0dyb3VwfS1NZXRyaWNGaWx0ZXJgLFxuICAgICAgICB7XG4gICAgICAgICAgbG9nR3JvdXA6IGxvZ0dyb3VwLFxuICAgICAgICAgIGZpbHRlclBhdHRlcm46IEZpbHRlclBhdHRlcm4ubGl0ZXJhbChgeyAke3ZhbHVlU3RyaW5nfSA9ICogfWApLFxuICAgICAgICAgIG1ldHJpY05hbWVzcGFjZTogdGhpcy5uYW1lc3BhY2UsXG4gICAgICAgICAgbWV0cmljTmFtZSxcbiAgICAgICAgICBtZXRyaWNWYWx1ZTogYCR7dmFsdWVTdHJpbmd9YCxcbiAgICAgICAgfSxcbiAgICAgICk7XG4gICAgICByZXR1cm4gbWV0cmljRmlsdGVyLm1ldHJpYyh7XG4gICAgICAgIHN0YXRpc3RpYzogTWV0cmljU3RhdGlzdGljLk1BWCxcbiAgICAgICAgcmVnaW9uOiB0aGlzLnJlZ2lvbixcbiAgICAgICAgYWNjb3VudDogdGhpcy5hY2NvdW50LFxuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBtZXRyaWNzV2l0aG91dFdpZGdldHMobG9nR3JvdXA6IElMb2dHcm91cCkge1xuICAgIE9iamVjdC52YWx1ZXMoRmx1ZW50Qml0TWV0cmljc1dpdGhvdXRXaWRnZXQpLmZvckVhY2goKG1ldHJpY05hbWUpID0+XG4gICAgICB0aGlzLnBsdWdpbk1ldHJpYyhsb2dHcm91cCwgbWV0cmljTmFtZSksXG4gICAgKTtcbiAgfVxufVxuIl19