cdk-monitoring-constructs
Version:
[](https://badge.fury.io/js/cdk-monitoring-constructs) [](https://m
70 lines • 10.2 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: "9.15.2" };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRmx1ZW50Qml0TWV0cmljRmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIkZsdWVudEJpdE1ldHJpY0ZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxtREFBOEU7QUFDOUUsNkRBTThCO0FBQzlCLHlDQUtzQjtBQVV0QixNQUFhLHNCQUF1QixTQUFRLDBCQUE4QztJQUl4RixZQUFZLEtBQXNCLEVBQUUsS0FBa0M7UUFDcEUsS0FBSyxDQUFDLEtBQUssQ0FBQyxtQkFBbUIsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRTFDLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxTQUFTO1lBQ1osS0FBSyxDQUFDLFNBQVM7Z0JBQ2YsSUFBSSxDQUFDLGFBQWEsQ0FBQyx3QkFBd0IsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVELGFBQWEsQ0FBQyxRQUFtQjtRQUMvQixPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsNkNBQXdCLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRTtZQUNoRSxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ2pELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGFBQWEsQ0FBQyxRQUFtQjtRQUMvQixPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsNkNBQXdCLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRTtZQUNoRSxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ2pELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFlBQVksQ0FBQyxRQUFtQjtRQUM5QixPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsNENBQXVCLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRTtZQUMvRCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ2pELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLFlBQVksQ0FBQyxRQUFtQixFQUFFLFVBQWtCO1FBQzFELE1BQU0sWUFBWSxHQUFHLElBQUksdUJBQVksQ0FDbkMsSUFBSSxDQUFDLEtBQUssRUFDVixhQUFhLFVBQVUsSUFBSSxRQUFRLGVBQWUsRUFDbEQ7WUFDRSxRQUFRLEVBQUUsUUFBUTtZQUNsQixhQUFhLEVBQUUsd0JBQWEsQ0FBQyxPQUFPLENBQUMsaUJBQWlCLFVBQVUsS0FBSyxDQUFDO1lBQ3RFLGVBQWUsRUFBRSxJQUFJLENBQUMsU0FBUztZQUMvQixVQUFVO1lBQ1YsV0FBVyxFQUFFLFNBQVM7U0FDdkIsQ0FDRixDQUFDO1FBQ0YsT0FBTyxZQUFZLENBQUMsTUFBTSxDQUFDO1lBQ3pCLFNBQVMsRUFBRSx3QkFBZSxDQUFDLEdBQUc7WUFDOUIsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1lBQ25CLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztTQUN0QixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsY0FBYyxDQUFDLFFBQW1CO1FBQ2hDLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyw4Q0FBeUIsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFO1lBQ2pFLE1BQU0sV0FBVyxHQUFHLDBCQUEwQixVQUFVLEVBQUUsQ0FBQztZQUMzRCxNQUFNLFlBQVksR0FBRyxJQUFJLHVCQUFZLENBQ25DLElBQUksQ0FBQyxLQUFLLEVBQ1YsYUFBYSxVQUFVLElBQUksUUFBUSxlQUFlLEVBQ2xEO2dCQUNFLFFBQVEsRUFBRSxRQUFRO2dCQUNsQixhQUFhLEVBQUUsd0JBQWEsQ0FBQyxPQUFPLENBQUMsS0FBSyxXQUFXLFFBQVEsQ0FBQztnQkFDOUQsZUFBZSxFQUFFLElBQUksQ0FBQyxTQUFTO2dCQUMvQixVQUFVO2dCQUNWLFdBQVcsRUFBRSxHQUFHLFdBQVcsRUFBRTthQUM5QixDQUNGLENBQUM7WUFDRixPQUFPLFlBQVksQ0FBQyxNQUFNLENBQUM7Z0JBQ3pCLFNBQVMsRUFBRSx3QkFBZSxDQUFDLEdBQUc7Z0JBQzlCLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtnQkFDbkIsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO2FBQ3RCLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELHFCQUFxQixDQUFDLFFBQW1CO1FBQ3ZDLE1BQU0sQ0FBQyxNQUFNLENBQUMsa0RBQTZCLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUNsRSxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsQ0FDeEMsQ0FBQztJQUNKLENBQUM7O0FBNUVILHdEQTZFQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZpbHRlclBhdHRlcm4sIElMb2dHcm91cCwgTWV0cmljRmlsdGVyIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1sb2dzXCI7XG5pbXBvcnQge1xuICBGbHVlbnRCaXRGaWx0ZXJNZXRyaWNUYWcsXG4gIEZsdWVudEJpdElucHV0TWV0cmljVGFnLFxuICBGbHVlbnRCaXRNZXRyaWNzV2l0aG91dFdpZGdldCxcbiAgRmx1ZW50Qml0T3V0cHV0TWV0cmljVGFnLFxuICBGbHVlbnRCaXRTdG9yYWdlTWV0cmljVGFnLFxufSBmcm9tIFwiLi9GbHVlbnRCaXRDb25zdGFudHNcIjtcbmltcG9ydCB7XG4gIEJhc2VNZXRyaWNGYWN0b3J5LFxuICBCYXNlTWV0cmljRmFjdG9yeVByb3BzLFxuICBNZXRyaWNTdGF0aXN0aWMsXG4gIE1vbml0b3JpbmdTY29wZSxcbn0gZnJvbSBcIi4uLy4uL2NvbW1vblwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIEZsdWVudEJpdE1ldHJpY0ZhY3RvcnlQcm9wcyBleHRlbmRzIEJhc2VNZXRyaWNGYWN0b3J5UHJvcHMge1xuICAvKipcbiAgICogTmFtZXNwYWNlIHRoYXQgbWV0cmljcyB3aWxsIGJlIGVtaXR0ZWQgdG8uXG4gICAqIEBkZWZhdWx0IG1ldHJpYyBmYWN0b3J5IGRlZmF1bHRcbiAgICovXG4gIHJlYWRvbmx5IG5hbWVzcGFjZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGNsYXNzIEZsdWVudEJpdE1ldHJpY0ZhY3RvcnkgZXh0ZW5kcyBCYXNlTWV0cmljRmFjdG9yeTxGbHVlbnRCaXRNZXRyaWNGYWN0b3J5UHJvcHM+IHtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IG5hbWVzcGFjZTogc3RyaW5nO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgc2NvcGU6IE1vbml0b3JpbmdTY29wZTtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogTW9uaXRvcmluZ1Njb3BlLCBwcm9wczogRmx1ZW50Qml0TWV0cmljRmFjdG9yeVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUuY3JlYXRlTWV0cmljRmFjdG9yeSgpLCBwcm9wcyk7XG5cbiAgICB0aGlzLnNjb3BlID0gc2NvcGU7XG4gICAgdGhpcy5uYW1lc3BhY2UgPVxuICAgICAgcHJvcHMubmFtZXNwYWNlID8/XG4gICAgICB0aGlzLm1ldHJpY0ZhY3RvcnkuZ2V0TmFtZXNwYWNlV2l0aEZhbGxiYWNrKHByb3BzLm5hbWVzcGFjZSk7XG4gIH1cblxuICBmaWx0ZXJNZXRyaWNzKGxvZ0dyb3VwOiBJTG9nR3JvdXApIHtcbiAgICByZXR1cm4gT2JqZWN0LnZhbHVlcyhGbHVlbnRCaXRGaWx0ZXJNZXRyaWNUYWcpLm1hcCgobWV0cmljTmFtZSkgPT4ge1xuICAgICAgcmV0dXJuIHRoaXMucGx1Z2luTWV0cmljKGxvZ0dyb3VwLCBtZXRyaWNOYW1lKTtcbiAgICB9KTtcbiAgfVxuXG4gIG91dHB1dE1ldHJpY3MobG9nR3JvdXA6IElMb2dHcm91cCkge1xuICAgIHJldHVybiBPYmplY3QudmFsdWVzKEZsdWVudEJpdE91dHB1dE1ldHJpY1RhZykubWFwKChtZXRyaWNOYW1lKSA9PiB7XG4gICAgICByZXR1cm4gdGhpcy5wbHVnaW5NZXRyaWMobG9nR3JvdXAsIG1ldHJpY05hbWUpO1xuICAgIH0pO1xuICB9XG5cbiAgaW5wdXRNZXRyaWNzKGxvZ0dyb3VwOiBJTG9nR3JvdXApIHtcbiAgICByZXR1cm4gT2JqZWN0LnZhbHVlcyhGbHVlbnRCaXRJbnB1dE1ldHJpY1RhZykubWFwKChtZXRyaWNOYW1lKSA9PiB7XG4gICAgICByZXR1cm4gdGhpcy5wbHVnaW5NZXRyaWMobG9nR3JvdXAsIG1ldHJpY05hbWUpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBwbHVnaW5NZXRyaWMobG9nR3JvdXA6IElMb2dHcm91cCwgbWV0cmljTmFtZTogc3RyaW5nKSB7XG4gICAgY29uc3QgbWV0cmljRmlsdGVyID0gbmV3IE1ldHJpY0ZpbHRlcihcbiAgICAgIHRoaXMuc2NvcGUsXG4gICAgICBgRmx1ZW50Qml0LSR7bWV0cmljTmFtZX0tJHtsb2dHcm91cH0tTWV0cmljRmlsdGVyYCxcbiAgICAgIHtcbiAgICAgICAgbG9nR3JvdXA6IGxvZ0dyb3VwLFxuICAgICAgICBmaWx0ZXJQYXR0ZXJuOiBGaWx0ZXJQYXR0ZXJuLmxpdGVyYWwoYHsgJC5tZXRyaWMgPSBcIiR7bWV0cmljTmFtZX1cIiB9YCksXG4gICAgICAgIG1ldHJpY05hbWVzcGFjZTogdGhpcy5uYW1lc3BhY2UsXG4gICAgICAgIG1ldHJpY05hbWUsXG4gICAgICAgIG1ldHJpY1ZhbHVlOiBcIiQudmFsdWVcIixcbiAgICAgIH0sXG4gICAgKTtcbiAgICByZXR1cm4gbWV0cmljRmlsdGVyLm1ldHJpYyh7XG4gICAgICBzdGF0aXN0aWM6IE1ldHJpY1N0YXRpc3RpYy5NQVgsXG4gICAgICByZWdpb246IHRoaXMucmVnaW9uLFxuICAgICAgYWNjb3VudDogdGhpcy5hY2NvdW50LFxuICAgIH0pO1xuICB9XG5cbiAgc3RvcmFnZU1ldHJpY3MobG9nR3JvdXA6IElMb2dHcm91cCkge1xuICAgIHJldHVybiBPYmplY3QudmFsdWVzKEZsdWVudEJpdFN0b3JhZ2VNZXRyaWNUYWcpLm1hcCgobWV0cmljTmFtZSkgPT4ge1xuICAgICAgY29uc3QgdmFsdWVTdHJpbmcgPSBgJC5zdG9yYWdlX2xheWVyLmNodW5rcy4ke21ldHJpY05hbWV9YDtcbiAgICAgIGNvbnN0IG1ldHJpY0ZpbHRlciA9IG5ldyBNZXRyaWNGaWx0ZXIoXG4gICAgICAgIHRoaXMuc2NvcGUsXG4gICAgICAgIGBGbHVlbnRCaXQtJHttZXRyaWNOYW1lfS0ke2xvZ0dyb3VwfS1NZXRyaWNGaWx0ZXJgLFxuICAgICAgICB7XG4gICAgICAgICAgbG9nR3JvdXA6IGxvZ0dyb3VwLFxuICAgICAgICAgIGZpbHRlclBhdHRlcm46IEZpbHRlclBhdHRlcm4ubGl0ZXJhbChgeyAke3ZhbHVlU3RyaW5nfSA9ICogfWApLFxuICAgICAgICAgIG1ldHJpY05hbWVzcGFjZTogdGhpcy5uYW1lc3BhY2UsXG4gICAgICAgICAgbWV0cmljTmFtZSxcbiAgICAgICAgICBtZXRyaWNWYWx1ZTogYCR7dmFsdWVTdHJpbmd9YCxcbiAgICAgICAgfSxcbiAgICAgICk7XG4gICAgICByZXR1cm4gbWV0cmljRmlsdGVyLm1ldHJpYyh7XG4gICAgICAgIHN0YXRpc3RpYzogTWV0cmljU3RhdGlzdGljLk1BWCxcbiAgICAgICAgcmVnaW9uOiB0aGlzLnJlZ2lvbixcbiAgICAgICAgYWNjb3VudDogdGhpcy5hY2NvdW50LFxuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBtZXRyaWNzV2l0aG91dFdpZGdldHMobG9nR3JvdXA6IElMb2dHcm91cCkge1xuICAgIE9iamVjdC52YWx1ZXMoRmx1ZW50Qml0TWV0cmljc1dpdGhvdXRXaWRnZXQpLmZvckVhY2goKG1ldHJpY05hbWUpID0+XG4gICAgICB0aGlzLnBsdWdpbk1ldHJpYyhsb2dHcm91cCwgbWV0cmljTmFtZSksXG4gICAgKTtcbiAgfVxufVxuIl19
;