Skip to content

Create HTTP Monitor.

POST
/api/observability/synthetic_monitor/namespaces/{metadata.namespace}/v1_http_monitors
curl --request POST \
--url https://example-corp.console.ves.volterra.io/api/v1/api/production/us-east-1/namespaces/default/api/observability/synthetic_monitor/namespaces/example/v1_http_monitors \
--header 'Authorization: <Authorization>' \
--header 'Content-Type: application/json' \
--data '{ "metadata": { "annotations": {}, "description": "example", "disable": true, "labels": {}, "name": "example", "namespace": "example" }, "spec": { "delete": { "request_body": "example" }, "external_sources": [ { "aws": { "regions": [ "example" ] }, "f5xc": { "regions": [ "example" ] } } ], "follow_redirects": true, "get": {}, "head": {}, "health_policy": { "dynamic_threshold": { "eval_period": "EVAL_PERIOD_3_MINS", "std_dev_val": "STD_DEV_VAL_3" }, "dynamic_threshold_disabled": {}, "static_max_threshold": { "eval_period": "EVAL_PERIOD_3_MINS", "max_response_time": 1 }, "static_max_threshold_disabled": {}, "static_min_threshold": { "eval_period": "EVAL_PERIOD_3_MINS", "min_response_time": 1 }, "static_min_threshold_disabled": {} }, "ignore_cert_errors": true, "interval_12_hours": {}, "interval_15_mins": {}, "interval_1_day": {}, "interval_1_hour": {}, "interval_1_min": {}, "interval_30_mins": {}, "interval_30_secs": {}, "interval_5_mins": {}, "interval_6_hours": {}, "on_failure_count": 1, "options": {}, "patch": { "request_body": "example" }, "post": { "request_body": "example" }, "put": { "request_body": "example" }, "receive": "example", "request_headers": [ { "key": "example", "value": "example" } ], "response_codes": [ "example" ], "response_timeout": 1, "sni_host": "example", "source_critical_threshold": 1, "url": "https://example.com" } }'

Create HTTP Monitor.

Examples of this operation.

metadata.namespace
required
string

Namespace This defines the workspace within which each the configuration object is to be created. Must be a DNS_LABEL format. For a namespace object itself, namespace value will be ""

Media typeapplication/json
CreateRequest is used to create an instance of v1_http_monitor

This is the input message of the ‘Create’ RPC.

object
metadata
object
annotations
annotations

Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects.

object
description
description

Human readable description for the object.

string
>= 21 characters <= 1200 characters
disable
disable

A value of true will administratively disable the object.

boolean format: boolean
labels
labels

Map of string keys and values that can be used to organize and categorize (scope and select) objects as chosen by the user. Values specified here will be used by selector expression.

object
name
name

This is the name of configuration object. It has to be unique within the namespace. It can only be specified during create API and cannot be changed during replace API. The value of name has to follow DNS-1035 format. Required: YES.

string
>= 6 characters <= 1024 characters
namespace
namespace

This defines the workspace within which each the configuration object is to be created. Must be a DNS_LABEL format. For a namespace object itself, namespace value will be ""

string
>= 6 characters <= 1024 characters
spec
object
delete
object
request_body
content

Ensure appropriate request headers are added based on the content type added here.

string
<= 65535 characters
external_sources

Internet facing monitor sources

Required: YES.

Array<object>
>= 1 items <= 8 items
Source

A location where a monitor runs.

object
aws
object
regions
AWS Regions

A specific source location within AWS Required: YES.

Array<string>
f5xc
object
regions
F5 Distributed Cloud Regions

A specific source location within F5 Distributed Cloud Required: YES.

Array<string>
follow_redirects

Controls if the monitor will follow redirects while determining health.

boolean format: boolean
get
object
head
object
health_policy
object
dynamic_threshold
object
eval_period
string
default: EVAL_PERIOD_3_MINS
Allowed values: EVAL_PERIOD_3_MINS EVAL_PERIOD_5_MINS EVAL_PERIOD_10_MINS EVAL_PERIOD_15_MINS
std_dev_val
string
default: STD_DEV_VAL_3
Allowed values: STD_DEV_VAL_3 STD_DEV_VAL_4 STD_DEV_VAL_5 STD_DEV_VAL_6
dynamic_threshold_disabled
object
static_max_threshold
object
eval_period
string
default: EVAL_PERIOD_3_MINS
Allowed values: EVAL_PERIOD_3_MINS EVAL_PERIOD_5_MINS EVAL_PERIOD_10_MINS EVAL_PERIOD_15_MINS
max_response_time
max_response_time

The maximum response time value that must be exceeded before the monitor turns critical. Required: YES.

integer format: int64
static_max_threshold_disabled
object
static_min_threshold
object
eval_period
string
default: EVAL_PERIOD_3_MINS
Allowed values: EVAL_PERIOD_3_MINS EVAL_PERIOD_5_MINS EVAL_PERIOD_10_MINS EVAL_PERIOD_15_MINS
min_response_time
min_response_time

The minimum value that response time must fall below before the monitor turns critical. Required: YES.

integer format: int64
static_min_threshold_disabled
object
ignore_cert_errors

Controls if an SSL error will result in a change of health status.

boolean format: boolean
interval_12_hours
object
interval_15_mins
object
interval_1_day
object
interval_1_hour
object
interval_1_min
object
interval_30_mins
object
interval_30_secs
object
interval_5_mins
object
interval_6_hours
object
on_failure_count

The number of times a monitor must fail before the global monitor changes health Required: YES.

integer format: int64
options
object
patch
object
request_body
content

Ensure appropriate request headers are added based on the content type added here.

string
<= 65535 characters
post
object
request_body
content

Ensure appropriate request headers are added based on the content type added here.

string
<= 65535 characters
put
object
request_body
content

Ensure appropriate request headers are added based on the content type added here.

string
<= 65535 characters
receive

The regex pattern that the monitor looks for in the returned resource. If the text string is returned, the monitor is healthy. Note, headers are not considered in the matching.

string
<= 2048 characters
request_headers

Configuration parameter for request headers

Array<object>
HTTPMonitorHeader
object
key
Key

Required: YES.

string
>= 7 characters <= 2048 characters
value
Value

Configuration parameter for value

string
>= 3 characters <= 8192 characters
response_codes

HTTP response codes which will result in a healthy monitor. Use ”*” as a wildcard character. Required: YES.

Array<string>
>= 1 items
response_timeout

The amount of time in milliseconds before the monitor considers a pending request to be a failure.

integer format: int64
sni_host

A string value which will override the default SNI host.

string
<= 253 characters
source_critical_threshold

The number of provider-regions a monitor must fail from before the global monitor changes health Required: YES.

integer format: int64
url

Required: YES.

string format: uri
<= 2048 characters

A successful response.

Media typeapplication/json
object
metadata
object
annotations
annotations

Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects.

object
description
description

Human readable description for the object.

string
>= 21 characters <= 1200 characters
disable
disable

A value of true will administratively disable the object.

boolean format: boolean
labels
labels

Map of string keys and values that can be used to organize and categorize (scope and select) objects as chosen by the user. Values specified here will be used by selector expression.

object
name
name

This is the name of configuration object. It has to be unique within the namespace. It can only be specified during create API and cannot be changed during replace API. The value of name has to follow DNS-1035 format. Required: YES.

string
>= 6 characters <= 1024 characters
namespace
namespace

This defines the workspace within which each the configuration object is to be created. Must be a DNS_LABEL format. For a namespace object itself, namespace value will be ""

string
>= 6 characters <= 1024 characters
spec
object
delete
object
request_body
content

Ensure appropriate request headers are added based on the content type added here.

string
<= 65535 characters
external_sources

Internet facing monitor sources

Required: YES.

Array<object>
>= 1 items <= 8 items
Source

A location where a monitor runs.

object
aws
object
regions
AWS Regions

A specific source location within AWS Required: YES.

Array<string>
f5xc
object
regions
F5 Distributed Cloud Regions

A specific source location within F5 Distributed Cloud Required: YES.

Array<string>
follow_redirects

Controls if the monitor will follow redirects while determining health.

boolean format: boolean
get
object
head
object
health_policy
object
dynamic_threshold
object
eval_period
string
default: EVAL_PERIOD_3_MINS
Allowed values: EVAL_PERIOD_3_MINS EVAL_PERIOD_5_MINS EVAL_PERIOD_10_MINS EVAL_PERIOD_15_MINS
std_dev_val
string
default: STD_DEV_VAL_3
Allowed values: STD_DEV_VAL_3 STD_DEV_VAL_4 STD_DEV_VAL_5 STD_DEV_VAL_6
dynamic_threshold_disabled
object
static_max_threshold
object
eval_period
string
default: EVAL_PERIOD_3_MINS
Allowed values: EVAL_PERIOD_3_MINS EVAL_PERIOD_5_MINS EVAL_PERIOD_10_MINS EVAL_PERIOD_15_MINS
max_response_time
max_response_time

The maximum response time value that must be exceeded before the monitor turns critical. Required: YES.

integer format: int64
static_max_threshold_disabled
object
static_min_threshold
object
eval_period
string
default: EVAL_PERIOD_3_MINS
Allowed values: EVAL_PERIOD_3_MINS EVAL_PERIOD_5_MINS EVAL_PERIOD_10_MINS EVAL_PERIOD_15_MINS
min_response_time
min_response_time

The minimum value that response time must fall below before the monitor turns critical. Required: YES.

integer format: int64
static_min_threshold_disabled
object
ignore_cert_errors

Controls if an SSL error will result in a change of health status.

boolean format: boolean
interval_12_hours
object
interval_15_mins
object
interval_1_day
object
interval_1_hour
object
interval_1_min
object
interval_30_mins
object
interval_30_secs
object
interval_5_mins
object
interval_6_hours
object
on_failure_count

The number of times a monitor must fail before the global monitor changes health Required: YES.

integer format: int64
options
object
patch
object
request_body
content

Ensure appropriate request headers are added based on the content type added here.

string
<= 65535 characters
post
object
request_body
content

Ensure appropriate request headers are added based on the content type added here.

string
<= 65535 characters
put
object
request_body
content

Ensure appropriate request headers are added based on the content type added here.

string
<= 65535 characters
receive

The regex pattern that the monitor looks for in the returned resource. If the text string is returned, the monitor is healthy. Note, headers are not considered in the matching.

string
<= 2048 characters
request_headers

Configuration parameter for request headers

Array<object>
HTTPMonitorHeader
object
key
Key

Required: YES.

string
>= 7 characters <= 2048 characters
value
Value

Configuration parameter for value

string
>= 3 characters <= 8192 characters
response_codes

HTTP response codes which will result in a healthy monitor. Use ”*” as a wildcard character. Required: YES.

Array<string>
>= 1 items
response_timeout

The amount of time in milliseconds before the monitor considers a pending request to be a failure.

integer format: int64
sni_host

A string value which will override the default SNI host.

string
<= 253 characters
source_critical_threshold

The number of provider-regions a monitor must fail from before the global monitor changes health Required: YES.

integer format: int64
url

Required: YES.

string format: uri
<= 2048 characters
system_metadata
object
creation_timestamp
creation_timestamp

CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.

string format: date-time
<= 1024 characters
creator_class
creator_class

A value identifying the class of the user or service which created this configuration object.

string
<= 1024 characters
creator_id
creator_id

A value identifying the exact user or service that created this configuration object.

string
<= 1024 characters
deletion_timestamp
deletion_timestamp

DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested.

Populated by the system when a graceful deletion is requested. Read-only.

string format: date-time
<= 1024 characters
finalizers
finalizers

Must be empty before the object is deleted from the registry. Each entry is an identifier for the responsible component that will remove the entry from the list. If the deletionTimestamp of the object is non-nil, entries in this list can only be removed.

Array<string>
initializers
object
pending
pending

Pending is a list of initializers that must execute in order before this object is initialized. When the last pending initializer is removed, and no failing result is set, the initializers struct will be set to nil and the object is considered as initialized and visible to all clients.

Array<object>
InitializerType

Initializer is information about an initializer that has not yet completed.

object
name
name

Name of the service that is responsible for initializing this object.

string
>= 6 characters <= 1024 characters
result
object
code
code

Suggested HTTP return code for this status, 0 if not set.

integer format: int32
reason
reason

A human-readable description of why this operation is in the “Failure” status. If this value is empty there is no information available.

string
>= 27 characters <= 1024 characters
status
status

Status of the operation. One of: “Success” or “Failure”.

string
>= 17 characters <= 1024 characters
labels
labels

Map of string keys and values that can be used to organize and categorize (scope and select) objects as chosen by the operator or software. Values here can be interpreted by software(backend or frontend) to enable certain behavior e.g. Things marked as soft-deleted(restorable).

object
modification_timestamp
modification_timestamp

ModificationTimestamp is a timestamp representing the server time when this object was last modified.

string format: date-time
<= 1024 characters
object_index
object_index

Unique index for the object. Some objects need a unique integer index to be allocated for each object type. This field will be populated for all objects that need it and will be zero otherwise.

integer format: int64
owner_view
object
kind
kind

Kind of the view object.

string
>= 12 characters <= 1024 characters
name
name

When a configuration object(e.g. Virtual_host) refers to another(e.g route) then name will hold the referred object’s(e.g. Route’s) name.

string
>= 6 characters <= 1024 characters
namespace
namespace

When a configuration object(e.g. Virtual_host) refers to another(e.g route) then namespace will hold the referred object’s(e.g. Route’s) namespace.

string
>= 6 characters <= 1024 characters
uid
uid

UID of the view object.

string format: uuid
>= 36 characters <= 1024 characters
tenant
tenant

Tenant to which this configuration object belongs to. The value for this is found from presented credentials.

string
>= 6 characters <= 1024 characters
uid
uid

Uid is the unique in time and space value for this object. It is generated by the server on successful creation of an object and is not allowed to change on Replace API. The value of is taken from uid field of ObjectMetaType, if provided.

string format: uuid
>= 36 characters <= 1024 characters
Example
{
"spec": {
"health_policy": {
"dynamic_threshold": {
"eval_period": "EVAL_PERIOD_3_MINS",
"std_dev_val": "STD_DEV_VAL_3"
},
"static_max_threshold": {
"eval_period": "EVAL_PERIOD_3_MINS"
},
"static_min_threshold": {
"eval_period": "EVAL_PERIOD_3_MINS"
}
}
}
}

Returned when operation is not authorized.

Media typeapplication/json
string format: string
Examplegenerated
example

Returned when there is no permission to access resource.

Media typeapplication/json
string format: string
Examplegenerated
example

Returned when resource is not found.

Media typeapplication/json
string format: string
Examplegenerated
example

Returned when operation on resource is conflicting with current value.

Media typeapplication/json
string format: string
Examplegenerated
example

Returned when operation has been rejected as it is happening too frequently.

Media typeapplication/json
string format: string
Examplegenerated
example

Returned when server encountered an error in processing API.

Media typeapplication/json
string format: string
Examplegenerated
example

Returned when service is unavailable temporarily.

Media typeapplication/json
string format: string
Examplegenerated
example

Returned when server timed out processing request.

Media typeapplication/json
string format: string
Examplegenerated
example