Class Alarm
- All Implemented Interfaces:
IEnvironmentAware,IResource,IAlarm,IAlarmRule,software.amazon.jsii.JsiiSerializable,software.constructs.IConstruct,software.constructs.IDependable
- Direct Known Subclasses:
AnomalyDetectionAlarm
Example:
LogGroup logGroup;
MetricFilter mf = MetricFilter.Builder.create(this, "MetricFilter")
.logGroup(logGroup)
.metricNamespace("MyApp")
.metricName("Latency")
.filterPattern(FilterPattern.exists("$.latency"))
.metricValue("$.latency")
.dimensions(Map.of(
"ErrorCode", "$.errorCode"))
.unit(Unit.MILLISECONDS)
.build();
//expose a metric from the metric filter
Metric metric = mf.metric();
//you can use the metric to create a new alarm
//you can use the metric to create a new alarm
Alarm.Builder.create(this, "alarm from metric filter")
.metric(metric)
.threshold(100)
.evaluationPeriods(2)
.build();
-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from class software.amazon.jsii.JsiiObject
software.amazon.jsii.JsiiObject.InitializationModeNested classes/interfaces inherited from interface software.amazon.awscdk.services.cloudwatch.IAlarm
IAlarm.Jsii$DefaultNested classes/interfaces inherited from interface software.constructs.IConstruct
software.constructs.IConstruct.Jsii$DefaultNested classes/interfaces inherited from interface software.amazon.awscdk.IResource
IResource.Jsii$Default -
Field Summary
Fields -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedAlarm(software.amazon.jsii.JsiiObject.InitializationMode initializationMode) protectedAlarm(software.amazon.jsii.JsiiObjectRef objRef) Alarm(software.constructs.Construct scope, String id, AlarmProps props) -
Method Summary
Modifier and TypeMethodDescriptionvoidaddAlarmAction(IAlarmAction... actions) Trigger this action if the alarm fires.static IAlarmfromAlarmArn(software.constructs.Construct scope, String id, String alarmArn) Import an existing CloudWatch alarm provided an ARN.static IAlarmfromAlarmName(software.constructs.Construct scope, String id, String alarmName) Import an existing CloudWatch alarm provided an Name.ARN of this alarm.Name of this alarm.The metric object this alarm was based on.Turn this alarm into a horizontal annotation.Methods inherited from class software.amazon.awscdk.services.cloudwatch.AlarmBase
addInsufficientDataAction, addOkAction, getAlarmActionArns, getInsufficientDataActionArns, getOkActionArns, renderAlarmRule, setAlarmActionArns, setInsufficientDataActionArns, setOkActionArnsMethods inherited from class software.amazon.awscdk.Resource
applyRemovalPolicy, generatePhysicalName, getEnv, getPhysicalName, getResourceArnAttribute, getResourceNameAttribute, getStack, isOwnedResource, isResourceMethods inherited from class software.constructs.Construct
getNode, isConstruct, toStringMethods inherited from class software.amazon.jsii.JsiiObject
jsiiAsyncCall, jsiiAsyncCall, jsiiCall, jsiiCall, jsiiGet, jsiiGet, jsiiSet, jsiiStaticCall, jsiiStaticCall, jsiiStaticGet, jsiiStaticGet, jsiiStaticSet, jsiiStaticSetMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface software.constructs.IConstruct
getNodeMethods inherited from interface software.amazon.awscdk.interfaces.IEnvironmentAware
getEnvMethods inherited from interface software.amazon.awscdk.IResource
applyRemovalPolicy, getStackMethods inherited from interface software.amazon.jsii.JsiiSerializable
$jsii$toJson
-
Field Details
-
ANOMALY_DETECTION_NO_THRESHOLD
Conventional value for the threshold property when creating anomaly detection alarms.Anomaly detection alarms don't have numbered threshold. Instead, they have a dynamically calculated threshold based on the metric math expression that contains a metric expression.
The
thresholdproperty is required, but the value is ignored. This constant has the value 0, and has a symbolic name to indicate why the threshold is 0. You can usenew AnomalyDetectionAlarm()to avoid having to pass thethresholdproperty at all. -
PROPERTY_INJECTION_ID
Uniquely identifies this class.
-
-
Constructor Details
-
Alarm
protected Alarm(software.amazon.jsii.JsiiObjectRef objRef) -
Alarm
protected Alarm(software.amazon.jsii.JsiiObject.InitializationMode initializationMode) -
Alarm
@Stability(Stable) public Alarm(@NotNull software.constructs.Construct scope, @NotNull String id, @NotNull AlarmProps props) - Parameters:
scope- This parameter is required.id- This parameter is required.props- This parameter is required.
-
-
Method Details
-
fromAlarmArn
@Stability(Stable) @NotNull public static IAlarm fromAlarmArn(@NotNull software.constructs.Construct scope, @NotNull String id, @NotNull String alarmArn) Import an existing CloudWatch alarm provided an ARN.- Parameters:
scope- The parent creating construct (usuallythis). This parameter is required.id- The construct's name. This parameter is required.alarmArn- Alarm ARN (i.e. arn:aws:cloudwatch::invalid input: '<'account-id>:alarm:Foo). This parameter is required.
-
fromAlarmName
@Stability(Stable) @NotNull public static IAlarm fromAlarmName(@NotNull software.constructs.Construct scope, @NotNull String id, @NotNull String alarmName) Import an existing CloudWatch alarm provided an Name.- Parameters:
scope- The parent creating construct (usuallythis). This parameter is required.id- The construct's name. This parameter is required.alarmName- Alarm Name. This parameter is required.
-
addAlarmAction
Trigger this action if the alarm fires.Typically SnsAction or AutoScalingAction.
- Overrides:
addAlarmActionin classAlarmBase- Parameters:
actions- This parameter is required.
-
toAnnotation
Turn this alarm into a horizontal annotation.This is useful if you want to represent an Alarm in a non-AlarmWidget. An
AlarmWidgetcan directly show an alarm, but it can only show a single alarm and no other metrics. Instead, you can convert the alarm to a HorizontalAnnotation and add it as an annotation to another graph.This might be useful if:
- You want to show multiple alarms inside a single graph, for example if you have both a "small margin/long period" alarm as well as a "large margin/short period" alarm.
- You want to show an Alarm line in a graph with multiple metrics in it.
-
getAlarmArn
ARN of this alarm.- Specified by:
getAlarmArnin interfaceIAlarm- Specified by:
getAlarmArnin classAlarmBase
-
getAlarmName
Name of this alarm.- Specified by:
getAlarmNamein interfaceIAlarm- Specified by:
getAlarmNamein classAlarmBase
-
getMetric
The metric object this alarm was based on.
-