Skip to content

Monitor ​

The Monitor resource allows you to manage AWS InternetMonitor Monitors for tracking the health and performance of your internet applications.

Minimal Example ​

Create a basic InternetMonitor Monitor with essential properties.

ts
import AWS from "alchemy/aws/control";

const basicMonitor = await AWS.InternetMonitor.Monitor("basicMonitor", {
  MonitorName: "MyBasicMonitor",
  Status: "ENABLED",
  TrafficPercentageToMonitor: 50,
  ResourcesToAdd: ["arn:aws:ec2:us-west-2:123456789012:instance/i-1234567890abcdef0"]
});

Advanced Configuration ​

Configure a monitor with advanced settings including health events and linked accounts.

ts
const advancedMonitor = await AWS.InternetMonitor.Monitor("advancedMonitor", {
  MonitorName: "MyAdvancedMonitor",
  Status: "ENABLED",
  TrafficPercentageToMonitor: 75,
  IncludeLinkedAccounts: true,
  HealthEventsConfig: {
    HealthEventTypes: ["LATENCY", "AVAILABILITY"],
    Thresholds: {
      Latency: {
        Threshold: 200,
        ComparisonOperator: "GREATER_THAN"
      },
      Availability: {
        Threshold: 99,
        ComparisonOperator: "LESS_THAN"
      }
    }
  },
  ResourcesToAdd: ["arn:aws:ec2:us-west-2:123456789012:instance/i-abcdef1234567890"]
});

Custom Log Delivery ​

Set up a monitor with custom internet measurements log delivery settings.

ts
const logDeliveryMonitor = await AWS.InternetMonitor.Monitor("logDeliveryMonitor", {
  MonitorName: "MyLogDeliveryMonitor",
  Status: "ENABLED",
  InternetMeasurementsLogDelivery: {
    S3Bucket: {
      BucketArn: "arn:aws:s3:::my-log-bucket",
      Prefix: "internet-monitor-logs/"
    },
    LogFormat: "JSON"
  },
  ResourcesToAdd: ["arn:aws:ec2:us-west-2:123456789012:instance/i-1234567890abcdef0"]
});

Monitoring Multiple City Networks ​

Create a monitor that tracks multiple city networks for better insights.

ts
const cityNetworkMonitor = await AWS.InternetMonitor.Monitor("cityNetworkMonitor", {
  MonitorName: "MyCityNetworkMonitor",
  Status: "ENABLED",
  MaxCityNetworksToMonitor: 5,
  ResourcesToAdd: [
    "arn:aws:ec2:us-west-2:123456789012:instance/i-1234567890abcdef0",
    "arn:aws:ec2:us-west-2:123456789012:instance/i-abcdef1234567890"
  ]
});