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.1 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: "10.0.0" }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRmx1ZW50Qml0TWV0cmljRmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIkZsdWVudEJpdE1ldHJpY0ZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxtREFBOEU7QUFDOUUsNkRBTThCO0FBQzlCLHlDQUtzQjtBQVV0QixNQUFhLHNCQUF1QixTQUFRLDBCQUFpQjtJQUkzRCxZQUFZLEtBQXNCLEVBQUUsS0FBa0M7UUFDcEUsS0FBSyxDQUFDLEtBQUssQ0FBQyxtQkFBbUIsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRTFDLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxTQUFTO1lBQ1osS0FBSyxDQUFDLFNBQVM7Z0JBQ2YsSUFBSSxDQUFDLGFBQWEsQ0FBQyx3QkFBd0IsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVELGFBQWEsQ0FBQyxRQUFtQjtRQUMvQixPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsNkNBQXdCLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRTtZQUNoRSxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ2pELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGFBQWEsQ0FBQyxRQUFtQjtRQUMvQixPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsNkNBQXdCLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRTtZQUNoRSxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ2pELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFlBQVksQ0FBQyxRQUFtQjtRQUM5QixPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsNENBQXVCLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRTtZQUMvRCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ2pELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLFlBQVksQ0FBQyxRQUFtQixFQUFFLFVBQWtCO1FBQzFELE1BQU0sWUFBWSxHQUFHLElBQUksdUJBQVksQ0FDbkMsSUFBSSxDQUFDLEtBQUssRUFDVixhQUFhLFVBQVUsSUFBSSxRQUFRLGVBQWUsRUFDbEQ7WUFDRSxRQUFRLEVBQUUsUUFBUTtZQUNsQixhQUFhLEVBQUUsd0JBQWEsQ0FBQyxPQUFPLENBQUMsaUJBQWlCLFVBQVUsS0FBSyxDQUFDO1lBQ3RFLGVBQWUsRUFBRSxJQUFJLENBQUMsU0FBUztZQUMvQixVQUFVO1lBQ1YsV0FBVyxFQUFFLFNBQVM7U0FDdkIsQ0FDRixDQUFDO1FBQ0YsT0FBTyxZQUFZLENBQUMsTUFBTSxDQUFDO1lBQ3pCLFNBQVMsRUFBRSx3QkFBZSxDQUFDLEdBQUc7WUFDOUIsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1lBQ25CLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztTQUN0QixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsY0FBYyxDQUFDLFFBQW1CO1FBQ2hDLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyw4Q0FBeUIsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFO1lBQ2pFLE1BQU0sV0FBVyxHQUFHLDBCQUEwQixVQUFVLEVBQUUsQ0FBQztZQUMzRCxNQUFNLFlBQVksR0FBRyxJQUFJLHVCQUFZLENBQ25DLElBQUksQ0FBQyxLQUFLLEVBQ1YsYUFBYSxVQUFVLElBQUksUUFBUSxlQUFlLEVBQ2xEO2dCQUNFLFFBQVEsRUFBRSxRQUFRO2dCQUNsQixhQUFhLEVBQUUsd0JBQWEsQ0FBQyxPQUFPLENBQUMsS0FBSyxXQUFXLFFBQVEsQ0FBQztnQkFDOUQsZUFBZSxFQUFFLElBQUksQ0FBQyxTQUFTO2dCQUMvQixVQUFVO2dCQUNWLFdBQVcsRUFBRSxHQUFHLFdBQVcsRUFBRTthQUM5QixDQUNGLENBQUM7WUFDRixPQUFPLFlBQVksQ0FBQyxNQUFNLENBQUM7Z0JBQ3pCLFNBQVMsRUFBRSx3QkFBZSxDQUFDLEdBQUc7Z0JBQzlCLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtnQkFDbkIsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO2FBQ3RCLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELHFCQUFxQixDQUFDLFFBQW1CO1FBQ3ZDLE1BQU0sQ0FBQyxNQUFNLENBQUMsa0RBQTZCLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUNsRSxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsQ0FDeEMsQ0FBQztJQUNKLENBQUM7O0FBNUVILHdEQTZFQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZpbHRlclBhdHRlcm4sIElMb2dHcm91cCwgTWV0cmljRmlsdGVyIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1sb2dzXCI7XG5pbXBvcnQge1xuICBGbHVlbnRCaXRGaWx0ZXJNZXRyaWNUYWcsXG4gIEZsdWVudEJpdElucHV0TWV0cmljVGFnLFxuICBGbHVlbnRCaXRNZXRyaWNzV2l0aG91dFdpZGdldCxcbiAgRmx1ZW50Qml0T3V0cHV0TWV0cmljVGFnLFxuICBGbHVlbnRCaXRTdG9yYWdlTWV0cmljVGFnLFxufSBmcm9tIFwiLi9GbHVlbnRCaXRDb25zdGFudHNcIjtcbmltcG9ydCB7XG4gIEJhc2VNZXRyaWNGYWN0b3J5LFxuICBCYXNlTWV0cmljRmFjdG9yeVByb3BzLFxuICBNZXRyaWNTdGF0aXN0aWMsXG4gIE1vbml0b3JpbmdTY29wZSxcbn0gZnJvbSBcIi4uLy4uL2NvbW1vblwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIEZsdWVudEJpdE1ldHJpY0ZhY3RvcnlQcm9wcyBleHRlbmRzIEJhc2VNZXRyaWNGYWN0b3J5UHJvcHMge1xuICAvKipcbiAgICogTmFtZXNwYWNlIHRoYXQgbWV0cmljcyB3aWxsIGJlIGVtaXR0ZWQgdG8uXG4gICAqIEBkZWZhdWx0IG1ldHJpYyBmYWN0b3J5IGRlZmF1bHRcbiAgICovXG4gIHJlYWRvbmx5IG5hbWVzcGFjZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGNsYXNzIEZsdWVudEJpdE1ldHJpY0ZhY3RvcnkgZXh0ZW5kcyBCYXNlTWV0cmljRmFjdG9yeSB7XG4gIHByb3RlY3RlZCByZWFkb25seSBuYW1lc3BhY2U6IHN0cmluZztcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHNjb3BlOiBNb25pdG9yaW5nU2NvcGU7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IE1vbml0b3JpbmdTY29wZSwgcHJvcHM6IEZsdWVudEJpdE1ldHJpY0ZhY3RvcnlQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLmNyZWF0ZU1ldHJpY0ZhY3RvcnkoKSwgcHJvcHMpO1xuXG4gICAgdGhpcy5zY29wZSA9IHNjb3BlO1xuICAgIHRoaXMubmFtZXNwYWNlID1cbiAgICAgIHByb3BzLm5hbWVzcGFjZSA/P1xuICAgICAgdGhpcy5tZXRyaWNGYWN0b3J5LmdldE5hbWVzcGFjZVdpdGhGYWxsYmFjayhwcm9wcy5uYW1lc3BhY2UpO1xuICB9XG5cbiAgZmlsdGVyTWV0cmljcyhsb2dHcm91cDogSUxvZ0dyb3VwKSB7XG4gICAgcmV0dXJuIE9iamVjdC52YWx1ZXMoRmx1ZW50Qml0RmlsdGVyTWV0cmljVGFnKS5tYXAoKG1ldHJpY05hbWUpID0+IHtcbiAgICAgIHJldHVybiB0aGlzLnBsdWdpbk1ldHJpYyhsb2dHcm91cCwgbWV0cmljTmFtZSk7XG4gICAgfSk7XG4gIH1cblxuICBvdXRwdXRNZXRyaWNzKGxvZ0dyb3VwOiBJTG9nR3JvdXApIHtcbiAgICByZXR1cm4gT2JqZWN0LnZhbHVlcyhGbHVlbnRCaXRPdXRwdXRNZXRyaWNUYWcpLm1hcCgobWV0cmljTmFtZSkgPT4ge1xuICAgICAgcmV0dXJuIHRoaXMucGx1Z2luTWV0cmljKGxvZ0dyb3VwLCBtZXRyaWNOYW1lKTtcbiAgICB9KTtcbiAgfVxuXG4gIGlucHV0TWV0cmljcyhsb2dHcm91cDogSUxvZ0dyb3VwKSB7XG4gICAgcmV0dXJuIE9iamVjdC52YWx1ZXMoRmx1ZW50Qml0SW5wdXRNZXRyaWNUYWcpLm1hcCgobWV0cmljTmFtZSkgPT4ge1xuICAgICAgcmV0dXJuIHRoaXMucGx1Z2luTWV0cmljKGxvZ0dyb3VwLCBtZXRyaWNOYW1lKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgcGx1Z2luTWV0cmljKGxvZ0dyb3VwOiBJTG9nR3JvdXAsIG1ldHJpY05hbWU6IHN0cmluZykge1xuICAgIGNvbnN0IG1ldHJpY0ZpbHRlciA9IG5ldyBNZXRyaWNGaWx0ZXIoXG4gICAgICB0aGlzLnNjb3BlLFxuICAgICAgYEZsdWVudEJpdC0ke21ldHJpY05hbWV9LSR7bG9nR3JvdXB9LU1ldHJpY0ZpbHRlcmAsXG4gICAgICB7XG4gICAgICAgIGxvZ0dyb3VwOiBsb2dHcm91cCxcbiAgICAgICAgZmlsdGVyUGF0dGVybjogRmlsdGVyUGF0dGVybi5saXRlcmFsKGB7ICQubWV0cmljID0gXCIke21ldHJpY05hbWV9XCIgfWApLFxuICAgICAgICBtZXRyaWNOYW1lc3BhY2U6IHRoaXMubmFtZXNwYWNlLFxuICAgICAgICBtZXRyaWNOYW1lLFxuICAgICAgICBtZXRyaWNWYWx1ZTogXCIkLnZhbHVlXCIsXG4gICAgICB9LFxuICAgICk7XG4gICAgcmV0dXJuIG1ldHJpY0ZpbHRlci5tZXRyaWMoe1xuICAgICAgc3RhdGlzdGljOiBNZXRyaWNTdGF0aXN0aWMuTUFYLFxuICAgICAgcmVnaW9uOiB0aGlzLnJlZ2lvbixcbiAgICAgIGFjY291bnQ6IHRoaXMuYWNjb3VudCxcbiAgICB9KTtcbiAgfVxuXG4gIHN0b3JhZ2VNZXRyaWNzKGxvZ0dyb3VwOiBJTG9nR3JvdXApIHtcbiAgICByZXR1cm4gT2JqZWN0LnZhbHVlcyhGbHVlbnRCaXRTdG9yYWdlTWV0cmljVGFnKS5tYXAoKG1ldHJpY05hbWUpID0+IHtcbiAgICAgIGNvbnN0IHZhbHVlU3RyaW5nID0gYCQuc3RvcmFnZV9sYXllci5jaHVua3MuJHttZXRyaWNOYW1lfWA7XG4gICAgICBjb25zdCBtZXRyaWNGaWx0ZXIgPSBuZXcgTWV0cmljRmlsdGVyKFxuICAgICAgICB0aGlzLnNjb3BlLFxuICAgICAgICBgRmx1ZW50Qml0LSR7bWV0cmljTmFtZX0tJHtsb2dHcm91cH0tTWV0cmljRmlsdGVyYCxcbiAgICAgICAge1xuICAgICAgICAgIGxvZ0dyb3VwOiBsb2dHcm91cCxcbiAgICAgICAgICBmaWx0ZXJQYXR0ZXJuOiBGaWx0ZXJQYXR0ZXJuLmxpdGVyYWwoYHsgJHt2YWx1ZVN0cmluZ30gPSAqIH1gKSxcbiAgICAgICAgICBtZXRyaWNOYW1lc3BhY2U6IHRoaXMubmFtZXNwYWNlLFxuICAgICAgICAgIG1ldHJpY05hbWUsXG4gICAgICAgICAgbWV0cmljVmFsdWU6IGAke3ZhbHVlU3RyaW5nfWAsXG4gICAgICAgIH0sXG4gICAgICApO1xuICAgICAgcmV0dXJuIG1ldHJpY0ZpbHRlci5tZXRyaWMoe1xuICAgICAgICBzdGF0aXN0aWM6IE1ldHJpY1N0YXRpc3RpYy5NQVgsXG4gICAgICAgIHJlZ2lvbjogdGhpcy5yZWdpb24sXG4gICAgICAgIGFjY291bnQ6IHRoaXMuYWNjb3VudCxcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgbWV0cmljc1dpdGhvdXRXaWRnZXRzKGxvZ0dyb3VwOiBJTG9nR3JvdXApIHtcbiAgICBPYmplY3QudmFsdWVzKEZsdWVudEJpdE1ldHJpY3NXaXRob3V0V2lkZ2V0KS5mb3JFYWNoKChtZXRyaWNOYW1lKSA9PlxuICAgICAgdGhpcy5wbHVnaW5NZXRyaWMobG9nR3JvdXAsIG1ldHJpY05hbWUpLFxuICAgICk7XG4gIH1cbn1cbiJdfQ==