CreateMonitor - Amazon CloudWatch Network Monitor

CreateMonitor

Creates a monitor between a source subnet and destination IP address. Within a monitor you'll create one or more probes that monitor network traffic between your source AWS VPC subnets and your destination IP addresses. Each probe then aggregates and sends metrics to Amazon CloudWatch.

You can also create a monitor with probes using this command. For each probe, you define the following:

  • source—The subnet IDs where the probes will be created.

  • destination— The target destination IP address for the probe.

  • destinationPort—Required only if the protocol is TCP.

  • protocol—The communication protocol between the source and destination. This will be either TCP or ICMP.

  • packetSize—The size of the packets. This must be a number between 56 and 8500.

  • (Optional) tags —Key-value pairs created and assigned to the probe.

Request Syntax

POST /monitors HTTP/1.1 Content-type: application/json { "aggregationPeriod": number, "clientToken": "string", "monitorName": "string", "probes": [ { "destination": "string", "destinationPort": number, "packetSize": number, "probeTags": { "string" : "string" }, "protocol": "string", "sourceArn": "string" } ], "tags": { "string" : "string" } }

URI Request Parameters

The request does not use any URI parameters.

Request Body

The request accepts the following data in JSON format.

aggregationPeriod

The time, in seconds, that metrics are aggregated and sent to Amazon CloudWatch. Valid values are either 30 or 60. 60 is the default if no period is chosen.

Type: Long

Valid Range: Minimum value of 30.

Required: No

clientToken

Unique, case-sensitive identifier to ensure the idempotency of the request. Only returned if a client token was provided in the request.

Type: String

Required: No

monitorName

The name identifying the monitor. It can contain only letters, underscores (_), or dashes (-), and can be up to 200 characters.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 255.

Pattern: [a-zA-Z0-9_-]+

Required: Yes

probes

Displays a list of all of the probes created for a monitor.

Type: Array of CreateMonitorProbeInput objects

Required: No

tags

The list of key-value pairs created and assigned to the monitor.

Type: String to string map

Map Entries: Minimum number of 0 items. Maximum number of 200 items.

Key Length Constraints: Minimum length of 1. Maximum length of 128.

Value Length Constraints: Minimum length of 0. Maximum length of 256.

Required: No

Response Syntax

HTTP/1.1 200 Content-type: application/json { "aggregationPeriod": number, "monitorArn": "string", "monitorName": "string", "state": "string", "tags": { "string" : "string" } }

Response Elements

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

aggregationPeriod

The number of seconds that metrics are aggregated by and sent to Amazon CloudWatch. This will be either 30 or 60.

Type: Long

Valid Range: Minimum value of 30.

monitorArn

The ARN of the monitor.

Type: String

Length Constraints: Minimum length of 20. Maximum length of 512.

Pattern: arn:.*

monitorName

The name of the monitor.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 255.

Pattern: [a-zA-Z0-9_-]+

state

The state of the monitor.

Type: String

Valid Values: PENDING | ACTIVE | INACTIVE | ERROR | DELETING

tags

The list of key-value pairs assigned to the monitor.

Type: String to string map

Map Entries: Minimum number of 0 items. Maximum number of 200 items.

Key Length Constraints: Minimum length of 1. Maximum length of 128.

Value Length Constraints: Minimum length of 0. Maximum length of 256.

Errors

For information about the errors that are common to all actions, see Common Errors.

AccessDeniedException

You do not have sufficient access to perform this action.

HTTP Status Code: 403

ConflictException

This operation attempted to create a resource that already exists.

HTTP Status Code: 409

InternalServerException

The request processing has failed because of an unknown error, exception or failure.

HTTP Status Code: 500

ServiceQuotaExceededException

This request exceeds a service quota.

HTTP Status Code: 402

ThrottlingException

The request was denied due to request throttling

HTTP Status Code: 429

ValidationException

One of the parameters for the request is not valid.

HTTP Status Code: 400

See Also

For more information about using this API in one of the language-specific AWS SDKs, see the following: