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
Section titled “Minimal Example”Create a basic alarm that monitors CPU utilization:
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
Section titled “Advanced Configuration”Configure an alarm that monitors network in/out traffic with multiple notification protocols:
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
Section titled “Alarm with Datapoints Configuration”Create an alarm that triggers when there are multiple data points that exceed the threshold:
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
Section titled “Alarm with Missing Data Treatment”Set up an alarm that treats missing data as “breaching” the threshold:
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"});