CloudWatchInternetMonitor / Client / create_monitor

create_monitor#

CloudWatchInternetMonitor.Client.create_monitor(**kwargs)#

Creates a monitor in Amazon CloudWatch Internet Monitor. A monitor is built based on information from the application resources that you add: VPCs, Network Load Balancers (NLBs), Amazon CloudFront distributions, and Amazon WorkSpaces directories. Internet Monitor then publishes internet measurements from Amazon Web Services that are specific to the city-networks. That is, the locations and ASNs (typically internet service providers or ISPs), where clients access your application. For more information, see Using Amazon CloudWatch Internet Monitor in the Amazon CloudWatch User Guide.

When you create a monitor, you choose the percentage of traffic that you want to monitor. You can also set a maximum limit for the number of city-networks where client traffic is monitored, that caps the total traffic that Internet Monitor monitors. A city-network maximum is the limit of city-networks, but you only pay for the number of city-networks that are actually monitored. You can update your monitor at any time to change the percentage of traffic to monitor or the city-networks maximum. For more information, see Choosing a city-network maximum value in the Amazon CloudWatch User Guide.

See also: AWS API Documentation

Request Syntax

response = client.create_monitor(
    MonitorName='string',
    Resources=[
        'string',
    ],
    ClientToken='string',
    Tags={
        'string': 'string'
    },
    MaxCityNetworksToMonitor=123,
    InternetMeasurementsLogDelivery={
        'S3Config': {
            'BucketName': 'string',
            'BucketPrefix': 'string',
            'LogDeliveryStatus': 'ENABLED'|'DISABLED'
        }
    },
    TrafficPercentageToMonitor=123,
    HealthEventsConfig={
        'AvailabilityScoreThreshold': 123.0,
        'PerformanceScoreThreshold': 123.0,
        'AvailabilityLocalHealthEventsConfig': {
            'Status': 'ENABLED'|'DISABLED',
            'HealthScoreThreshold': 123.0,
            'MinTrafficImpact': 123.0
        },
        'PerformanceLocalHealthEventsConfig': {
            'Status': 'ENABLED'|'DISABLED',
            'HealthScoreThreshold': 123.0,
            'MinTrafficImpact': 123.0
        }
    }
)
Parameters:
  • MonitorName (string) –

    [REQUIRED]

    The name of the monitor.

  • Resources (list) –

    The resources to include in a monitor, which you provide as a set of Amazon Resource Names (ARNs). Resources can be VPCs, NLBs, Amazon CloudFront distributions, or Amazon WorkSpaces directories.

    You can add a combination of VPCs and CloudFront distributions, or you can add WorkSpaces directories, or you can add NLBs. You can’t add NLBs or WorkSpaces directories together with any other resources.

    Note

    If you add only Amazon VPC resources, at least one VPC must have an Internet Gateway attached to it, to make sure that it has internet connectivity.

    • (string) –

  • ClientToken (string) –

    A unique, case-sensitive string of up to 64 ASCII characters that you specify to make an idempotent API request. Don’t reuse the same client token for other API requests.

    This field is autopopulated if not provided.

  • Tags (dict) –

    The tags for a monitor. You can add a maximum of 50 tags in Internet Monitor.

    • (string) –

      • (string) –

  • MaxCityNetworksToMonitor (integer) –

    The maximum number of city-networks to monitor for your resources. A city-network is the location (city) where clients access your application resources from and the ASN or network provider, such as an internet service provider (ISP), that clients access the resources through. Setting this limit can help control billing costs.

    To learn more, see Choosing a city-network maximum value in the Amazon CloudWatch Internet Monitor section of the CloudWatch User Guide.

  • InternetMeasurementsLogDelivery (dict) –

    Publish internet measurements for Internet Monitor to an Amazon S3 bucket in addition to CloudWatch Logs.

    • S3Config (dict) –

      The configuration information for publishing Internet Monitor internet measurements to Amazon S3. The configuration includes the bucket name and (optionally) prefix for the S3 bucket to store the measurements, and the delivery status. The delivery status is ENABLED or DISABLED, depending on whether you choose to deliver internet measurements to S3 logs.

      • BucketName (string) –

        The Amazon S3 bucket name.

      • BucketPrefix (string) –

        The Amazon S3 bucket prefix.

      • LogDeliveryStatus (string) –

        The status of publishing Internet Monitor internet measurements to an Amazon S3 bucket.

  • TrafficPercentageToMonitor (integer) –

    The percentage of the internet-facing traffic for your application that you want to monitor with this monitor. If you set a city-networks maximum, that limit overrides the traffic percentage that you set.

    To learn more, see Choosing an application traffic percentage to monitor in the Amazon CloudWatch Internet Monitor section of the CloudWatch User Guide.

  • HealthEventsConfig (dict) –

    Defines the threshold percentages and other configuration information for when Amazon CloudWatch Internet Monitor creates a health event. Internet Monitor creates a health event when an internet issue that affects your application end users has a health score percentage that is at or below a specific threshold, and, sometimes, when other criteria are met.

    If you don’t set a health event threshold, the default value is 95%.

    For more information, see Change health event thresholds in the Internet Monitor section of the CloudWatch User Guide.

    • AvailabilityScoreThreshold (float) –

      The health event threshold percentage set for availability scores.

    • PerformanceScoreThreshold (float) –

      The health event threshold percentage set for performance scores.

    • AvailabilityLocalHealthEventsConfig (dict) –

      The configuration that determines the threshold and other conditions for when Internet Monitor creates a health event for a local availability issue.

      • Status (string) –

        The status of whether Internet Monitor creates a health event based on a threshold percentage set for a local health score. The status can be ENABLED or DISABLED.

      • HealthScoreThreshold (float) –

        The health event threshold percentage set for a local health score.

      • MinTrafficImpact (float) –

        The minimum percentage of overall traffic for an application that must be impacted by an issue before Internet Monitor creates an event when a threshold is crossed for a local health score.

    • PerformanceLocalHealthEventsConfig (dict) –

      The configuration that determines the threshold and other conditions for when Internet Monitor creates a health event for a local performance issue.

      • Status (string) –

        The status of whether Internet Monitor creates a health event based on a threshold percentage set for a local health score. The status can be ENABLED or DISABLED.

      • HealthScoreThreshold (float) –

        The health event threshold percentage set for a local health score.

      • MinTrafficImpact (float) –

        The minimum percentage of overall traffic for an application that must be impacted by an issue before Internet Monitor creates an event when a threshold is crossed for a local health score.

Return type:

dict

Returns:

Response Syntax

{
    'Arn': 'string',
    'Status': 'PENDING'|'ACTIVE'|'INACTIVE'|'ERROR'
}

Response Structure

  • (dict) –

    • Arn (string) –

      The Amazon Resource Name (ARN) of the monitor.

    • Status (string) –

      The status of a monitor.

Exceptions

  • CloudWatchInternetMonitor.Client.exceptions.InternalServerException

  • CloudWatchInternetMonitor.Client.exceptions.AccessDeniedException

  • CloudWatchInternetMonitor.Client.exceptions.ThrottlingException

  • CloudWatchInternetMonitor.Client.exceptions.ConflictException

  • CloudWatchInternetMonitor.Client.exceptions.LimitExceededException

  • CloudWatchInternetMonitor.Client.exceptions.ValidationException