import { GraphWidget, HorizontalAnnotation, IWidget } from "aws-cdk-lib/aws-cloudwatch"; import { TargetType } from "aws-cdk-lib/aws-elasticloadbalancingv2"; import { NetworkLoadBalancerMetricFactory, NetworkLoadBalancerMetricFactoryProps } from "./NetworkLoadBalancerMetricFactory"; import { BaseMonitoringProps, HealthyTaskCountThreshold, HealthyTaskPercentThreshold, MetricWithAlarmSupport, MinProcessedBytesThreshold, Monitoring, MonitoringScope, TaskHealthAlarmFactory, ThroughputAlarmFactory, UnhealthyTaskCountThreshold } from "../../common"; import { MonitoringHeaderWidget } from "../../dashboard"; export interface NetworkLoadBalancerMonitoringProps extends NetworkLoadBalancerMetricFactoryProps, BaseMonitoringProps { readonly addHealthyTaskCountAlarm?: Record; readonly addUnhealthyTaskCountAlarm?: Record; readonly addHealthyTaskPercentAlarm?: Record; readonly addMinProcessedBytesAlarm?: Record; } export declare class NetworkLoadBalancerMonitoring extends Monitoring { protected readonly humanReadableName: string; protected readonly metricFactory: NetworkLoadBalancerMetricFactory; protected readonly networkLoadBalancerTargetType?: TargetType; protected readonly taskHealthAlarmFactory: TaskHealthAlarmFactory; protected readonly throughputAlarmFactory: ThroughputAlarmFactory; protected readonly taskHealthAnnotations: HorizontalAnnotation[]; protected readonly processedBytesAnnotations: HorizontalAnnotation[]; protected readonly healthyTaskCountMetric: MetricWithAlarmSupport; protected readonly unhealthyTaskCountMetric: MetricWithAlarmSupport; protected readonly healthyTaskPercentMetric: MetricWithAlarmSupport; protected readonly activeTcpFlowCountMetric: MetricWithAlarmSupport; protected readonly newTcpFlowCountMetric: MetricWithAlarmSupport; protected readonly unhealthyRoutingFlowCountMetric: MetricWithAlarmSupport; protected readonly processedBytesMetric: MetricWithAlarmSupport; protected readonly clientResetCountMetric: MetricWithAlarmSupport; protected readonly targetResetCountMetric: MetricWithAlarmSupport; protected readonly elbResetCountMetric: MetricWithAlarmSupport; constructor(scope: MonitoringScope, props: NetworkLoadBalancerMonitoringProps); summaryWidgets(): IWidget[]; widgets(): IWidget[]; protected createTitleWidget(): MonitoringHeaderWidget; protected createTaskHealthWidget(width: number, height: number): GraphWidget; protected createTcpFlowsWidget(width: number, height: number): GraphWidget; protected createTcpResetCountsWidget(width: number, height: number): GraphWidget; /** * @see https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-cloudwatch-metrics.html */ protected get isTaskHealthSupported(): boolean; }