cdk-monitoring-constructs
Version:
[](https://badge.fury.io/js/cdk-monitoring-constructs) [](https://m
70 lines • 10.1 kB
JavaScript
;
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==