Alarm ​
The Alarm resource allows you to manage AWS Lightsail Alarms for monitoring your Lightsail resources. You can set thresholds for various metrics to receive notifications when those thresholds are breached.
Minimal Example ​
Create a basic alarm that monitors CPU utilization:
ts
import AWS from "alchemy/aws/control";
const cpuAlarm = await AWS.Lightsail.Alarm("cpu-utilization-alarm", {
MetricName: "CPUUtilization",
ComparisonOperator: "GreaterThanThreshold",
TreatMissingData: "missing",
AlarmName: "HighCPUUtilization",
MonitoredResourceName: "my-lightsail-instance",
EvaluationPeriods: 1,
NotificationEnabled: true,
Threshold: 80
});
Advanced Configuration ​
Configure an alarm that monitors network in/out traffic with multiple notification protocols:
ts
const networkAlarm = await AWS.Lightsail.Alarm("network-traffic-alarm", {
MetricName: "NetworkIn",
ComparisonOperator: "GreaterThanThreshold",
AlarmName: "HighNetworkInTraffic",
MonitoredResourceName: "my-lightsail-instance",
EvaluationPeriods: 2,
Threshold: 1000000,
NotificationEnabled: true,
ContactProtocols: ["Email", "SMS"],
NotificationTriggers: ["Alarm"]
});
Alarm with Datapoints Configuration ​
Create an alarm that triggers when there are multiple data points that exceed the threshold:
ts
const multiDataPointAlarm = await AWS.Lightsail.Alarm("multi-data-point-alarm", {
MetricName: "DiskReadOps",
ComparisonOperator: "GreaterThanThreshold",
AlarmName: "HighDiskReadOperations",
MonitoredResourceName: "my-lightsail-instance",
EvaluationPeriods: 3,
DatapointsToAlarm: 2,
NotificationEnabled: true,
Threshold: 5000
});
Alarm with Missing Data Treatment ​
Set up an alarm that treats missing data as "breaching" the threshold:
ts
const missingDataAlarm = await AWS.Lightsail.Alarm("missing-data-alarm", {
MetricName: "CPUUtilization",
ComparisonOperator: "GreaterThanThreshold",
AlarmName: "CPUUtilizationMissingData",
MonitoredResourceName: "my-lightsail-instance",
EvaluationPeriods: 1,
Threshold: 70,
TreatMissingData: "breaching"
});