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

55 lines (54 loc) 2.22 kB
import { GraphWidget, HorizontalAnnotation, IWidget } from "aws-cdk-lib/aws-cloudwatch"; import { CloudWatchLogsMetricFactoryProps } from "./CloudWatchLogsMetricFactory"; import { AlarmFactory, BaseMonitoringProps, MaxUsageCountThreshold, MetricWithAlarmSupport, MinUsageCountThreshold, Monitoring, MonitoringScope, UsageAlarmFactory } from "../../common"; import { MonitoringHeaderWidget } from "../../dashboard"; export interface LogMonitoringProps extends BaseMonitoringProps, CloudWatchLogsMetricFactoryProps { /** * Widget title * * @default - auto-generated title based on the pattern and limit */ readonly title?: string; /** * Pattern to filter `@message` field, e.g. "ERROR" */ readonly pattern?: string; /** * Filter expressions to add. * @example * filterExpressions = [`level = "ERROR"`] * // will be appended to the query as * | filter level = "ERROR" * @see https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_QuerySyntax-Filter.html */ readonly filterExpressions?: string[]; /** * Maximum number of log messages to search for. * * @default - 10 */ readonly limit?: number; readonly addMinIncomingLogsAlarm?: Record<string, MinUsageCountThreshold>; readonly addMaxIncomingLogsAlarm?: Record<string, MaxUsageCountThreshold>; } /** * Monitors a CloudWatch log group for various patterns. */ export declare class LogMonitoring extends Monitoring { readonly logGroupName: string; readonly logGroupUrl?: string; readonly title?: string; readonly pattern?: string; readonly filterExpressions?: string[]; readonly limit: number; readonly alarmFactory: AlarmFactory; readonly usageAlarmFactory: UsageAlarmFactory; readonly incomingLogEventsMetric: MetricWithAlarmSupport; readonly usageAnnotations: HorizontalAnnotation[]; constructor(scope: MonitoringScope, props: LogMonitoringProps); summaryWidgets(): IWidget[]; widgets(): IWidget[]; createTitleWidget(): MonitoringHeaderWidget; createIncomingLogsWidget(width: number, height: number): GraphWidget; protected resolveRecommendedHeight(numRows: number): number; }