cdk-monitoring-constructs
Version:
[](https://badge.fury.io/js/cdk-monitoring-constructs) [](https://m
47 lines (46 loc) • 2.78 kB
TypeScript
import { GraphWidget, HorizontalAnnotation, IWidget } from "aws-cdk-lib/aws-cloudwatch";
import { KinesisFirehoseMetricFactoryProps } from "./KinesisFirehoseMetricFactory";
import { BaseMonitoringProps, KinesisAlarmFactory, MetricWithAlarmSupport, Monitoring, MonitoringScope, RecordsThrottledThreshold, FirehoseStreamLimitThreshold } from "../../common";
import { MonitoringHeaderWidget } from "../../dashboard";
export interface KinesisFirehoseMonitoringOptions extends BaseMonitoringProps {
/**
* Indicates that the Kinesis Firehose has record format conversion enabled.
* This impacts what widgets are shown.
*
* @default - true
* @see https://docs.aws.amazon.com/firehose/latest/dev/enable-record-format-conversion.html
*/
readonly isDataFormatConversionEnabled?: boolean;
readonly addRecordsThrottledAlarm?: Record<string, RecordsThrottledThreshold>;
readonly addIncomingBytesExceedThresholdAlarm?: Record<string, FirehoseStreamLimitThreshold>;
readonly addIncomingRecordsExceedThresholdAlarm?: Record<string, FirehoseStreamLimitThreshold>;
readonly addIncomingPutRequestsExceedThresholdAlarm?: Record<string, FirehoseStreamLimitThreshold>;
}
export interface KinesisFirehoseMonitoringProps extends KinesisFirehoseMetricFactoryProps, KinesisFirehoseMonitoringOptions {
}
export declare class KinesisFirehoseMonitoring extends Monitoring {
readonly title: string;
readonly streamUrl?: string;
readonly kinesisAlarmFactory: KinesisAlarmFactory;
readonly recordCountAnnotations: HorizontalAnnotation[];
readonly incomingLimitAnnotations: HorizontalAnnotation[];
readonly incomingBytesMetric: MetricWithAlarmSupport;
readonly incomingRecordsMetric: MetricWithAlarmSupport;
readonly throttledRecordsMetric: MetricWithAlarmSupport;
readonly isDataFormatConversionEnabled: boolean;
readonly successfulConversionMetric: MetricWithAlarmSupport;
readonly failedConversionMetric: MetricWithAlarmSupport;
readonly putRecordLatency: MetricWithAlarmSupport;
readonly putRecordBatchLatency: MetricWithAlarmSupport;
readonly incomingBytesToLimitRate: MetricWithAlarmSupport;
readonly incomingRecordsToLimitRate: MetricWithAlarmSupport;
readonly incomingPutRequestsToLimitRate: MetricWithAlarmSupport;
constructor(scope: MonitoringScope, props: KinesisFirehoseMonitoringProps);
summaryWidgets(): IWidget[];
widgets(): IWidget[];
createTitleWidget(): MonitoringHeaderWidget;
createIncomingRecordWidget(width: number, height: number): GraphWidget;
createLatencyWidget(width: number, height: number): GraphWidget;
createConversionWidget(width: number, height: number): GraphWidget;
createLimitWidget(width: number, height: number): GraphWidget;
}