Создает новый синтетический монитор.
Конфигурация нового монитора передается через его сценарий JSON.
POST | Managed | https://{your-domain}/e/{your-environment-id}/api/v1/synthetic/monitors
|
Среда АктивногоШлюза | https://{your-activegate-domain}/e/{your-environment-id}/api/v1/synthetic/monitors
|
Аутентификация
Чтобы выполнить этот запрос, вам нужен токен доступа с областью создания и чтения синтетических мониторов, местоположений и узлов ( ExternalSyntheticIntegration
) . Чтобы узнать, как его получить и использовать, см. раздел Токены и аутентификация .
Параметры
Чтобы найти все варианты моделей, зависящие от типа модели, см. раздел модели JSON .
Параметр | Тип | Описание | In | Необходимость |
---|---|---|---|---|
body | SyntheticMonitorUpdate | Тело запроса JSON, содержащее параметры нового синтетического монитора. | body | по желанию |
Объекты тела запроса
Объект SyntheticMonitorUpdate
Синтетическое обновление монитора.
Фактический набор полей зависит от типа монитора. Список актуальных объектов ищите в описании поля типа или смотрите Синтетические мониторы API-модели JSON .
Элемент | Тип | Описание | Необходимость |
---|---|---|---|
frequencyMin | integer | Частота монитора в минутах.
Вы можете использовать одно из следующих значений: |
требуется |
anomalyDetection | AnomalyDetection | Конфигурация обнаружения аномалий. | по желанию |
type | string | Определяет фактический набор полей в зависимости от значения. См. один из следующих объектов:
Элемент может содержать эти значения
|
требуется |
name | string | Название монитора. | требуется |
locations | string[] | Список местоположений, из которых выполняется мониторинг.
Чтобы указать местоположение, используйте его идентификатор объекта. |
требуется |
enabled | boolean | Монитор включен ( true ) или отключен ( false ).
|
требуется |
script | object | Скрипт браузера или HTTP-монитора. | требуется |
tags | TagWithSourceInfo[] | Набор тегов, присвоенных монитору.
Здесь вы можете указать только значение тега, а |
требуется |
manuallyAssignedApps | string[] | Набор назначенных вручную приложений. | требуется |
Объект AnomalyDetection
Конфигурация обнаружения аномалий.
Элемент | Тип | Описание | Необходимость |
---|---|---|---|
outageHandling | OutageHandlingPolicy | Конфигурация обработки сбоев. | требуется |
loadingTimeThresholds | LoadingTimeThresholdsPolicyDto | Настройка порогов производительности. | требуется |
Объект OutageHandlingPolicy
Конфигурация обработки сбоев.
Элемент | Тип | Описание | Необходимость |
---|---|---|---|
globalOutage | boolean | Когда включено ( true ), генерирует проблему и отправляет оповещение, когда монитор недоступен во всех настроенных местоположениях.
|
требуется |
globalOutagePolicy | GlobalOutagePolicy | Конфигурация глобальной обработки сбоев. | по желанию |
localOutage | boolean | Если этот параметр включен ( true ), генерирует проблему и отправляет оповещение, когда монитор недоступен для одного или нескольких последовательных запусков в любом месте.
|
требуется |
localOutagePolicy | LocalOutagePolicy | Конфигурация локальной обработки сбоев.
Предупреждать, если затронутые местоположения местоположений не могут получить доступ к веб-приложению последовательно Запускается несколько раз подряд. |
требуется |
retryOnError | boolean | Запланируйте повторную попытку, если выполнение монитора браузера приведет к сбою. Для HTTP-мониторов это свойство игнорируется. | по желанию |
Объект GlobalOutagePolicy
Конфигурация глобальной обработки сбоев.
Элемент | Тип | Описание | Необходимость |
---|---|---|---|
consecutiveRuns | integer | Оповещение, если все местоположения не могут получить доступ к веб-приложению X раз подряд. | требуется |
Объект LocalOutagePolicy
Конфигурация локальной обработки сбоев.
Предупреждать, если affectedLocations местоположений не могут получить доступ к веб-приложению последовательно Запускается несколько раз подряд.
Элемент | Тип | Описание | Необходимый |
---|---|---|---|
affectedLocations | integer | Количество затронутых местоположений, для которых выдается оповещение. | требуется |
consecutiveRuns | integer | Количество последовательных неудачных попыток вызвать оповещение. | требуется |
Объект LoadingTimeThresholdsPolicyDto
Настройка порогов производительности.
Элемент | Тип | Описание | Необходимость |
---|---|---|---|
enabled | boolean | Порог производительности включен ( true ) или отключен ( false ).
|
требуется |
thresholds | LoadingTimeThreshold[] | Список правил порога производительности. | требуется |
Объект LoadingTimeThreshold
Правило порога производительности.
Элемент | Тип | Описание | Необходимость |
---|---|---|---|
type | string | Тип порога: общее время загрузки или время загрузки действия.
Элемент может содержать эти значения
|
требуется |
valueMs | integer | Уведомлять, если загрузка монитора занимает больше X миллисекунд. | требуется |
requestIndex | integer | Укажите запрос, к которому применяется порог ACTION. | по желанию |
eventIndex | integer | Укажите событие, к которому применяется порог ACTION. | по желанию |
Объект TagWithSourceInfo
Тег с источником объекта Ключ-АСТРОМ.
Элемент | Тип | Описание | Необходимый |
---|---|---|---|
source | string | Источник тега, например USER, RULE_BASED или AUTO.
Элемент может содержать эти значения
|
по желанию |
context | string | Происхождение тега, например AWS или Cloud Foundry.
Пользовательские теги используют это Элемент может содержать эти значения
|
требуется |
key | string | Ключ тега.
Пользовательские теги здесь имеют значение тега. |
требуется |
value | string | Значение тега.
Не применимо к пользовательским тегам. |
по желанию |
JSON-модель тела запроса
Это модель тела запроса, показывающая возможные элементы. Его необходимо настроить для использования в реальном запросе.
{
"frequencyMin": 5,
"anomalyDetection": {
"outageHandling": {
"globalOutage": true,
"localOutage": true,
"localOutagePolicy": {
"affectedLocations": 1,
"consecutiveRuns": 3
}
},
"loadingTimeThresholds": {
"enabled": true,
"thresholds": [
{
"type": "TOTAL",
"valueMs": 100,
"requestIndex": 1
}
]
}
},
"type": "BROWSER",
"name": "Browser Monitor Example",
"locations": [
"GEOLOCATION-9999453BE4BDB3CD"
],
"enabled": true,
"script": {
"type": "availability",
"version": "1.0",
"configuration": {
"device": {
"deviceName": "Desktop",
"orientation": "landscape"
}
},
"events": [
{
"type": "navigate",
"description": "Loading of \"example.com\"",
"url": "http://example.com",
"wait": {
"waitFor": "page_complete"
}
}
]
},
"keyPerformanceMetrics": {
"loadActionKpm": "VISUALLY_COMPLETE",
"xhrActionKpm": "VISUALLY_COMPLETE"
},
"tags": [
"example"
],
"manuallyAssignedApps": [
"APPLICATION-4ADF0EF407C7C545"
],
"events": []
}
Ответ
Коды ответов
Код | Тип | Описание |
---|---|---|
200 | EntityIdDto | Успех. Создан новый синтетический монитор. Ответ содержит идентификатор объекта Ключ-АСТРОМ для нового монитора. |
Объекты тела ответа
Объект EntityIdDto
DTO для идентификатора объекта.
Элемент | Тип | Описание |
---|---|---|
entityId | string | Идентификатор объекта для передачи |
JSON-модель тела ответа
{
"entityId": "string"
}
Пример
В этом примере запрос создает простой монитор браузера, который переходит на ruscomtech.ru .
Мониторинг выполняется каждые 10 минут из одного местоположения с идентификатором GEOLOCATION-0A41430434C388A9 . Проблема возникнет, если веб-сайт будет недоступен в течение трех последовательных запусков . Уведомление отправляется, если загрузка веб-сайта занимает более 500 миллисекунд .
Маркер API передается в заголовке авторизации .
Ответ содержит идентификатор объекта только что созданного монитора.
Поскольку тело запроса длинное, оно усечено в этом примере раздела Curl . Полное тело см. в разделе Тело запроса . Вы можете скачать или скопировать образец тела запроса, чтобы попробовать его самостоятельно. Прежде чем использовать его, убедитесь, что местоположение из примера доступно в вашей среде. Вы можете получить список доступных местоположений с помощью вызова GET для всех искусственных местоположений . Если местоположение недоступно, замените его любым используемым местоположением.
Curl
curl -X POST \
https://mySampleEnv.live.ruscomtech.ru/api/v1/synthetic/monitors \
-H 'Authorization: Api-Token dt0c01.abc123.abcdefjhij1234567890' \
-H 'Content-Type: application/json' \
-d '{<truncated - see the Request body section >}'
URL-адрес запроса
https://mySampleEnv.live.ruscomtech.ru/api/v1/synthetic/monitors
Тело запроса
{
"frequencyMin": 10,
"anomalyDetection": {
"outageHandling": {
"globalOutage": true,
"localOutage": false,
"localOutagePolicy": {
"affectedLocations": 1,
"consecutiveRuns": 3
}
},
"loadingTimeThresholds": {
"enabled": true,
"thresholds": [
{
"type": "total",
"valueMs": 500
}
]
}
},
"type": "BROWSER",
"name": "restExample",
"locations": ["GEOLOCATION-0A41430434C388A9"],
"enabled": true,
"script": {
"configuration": {
"device": {
"orientation": "landscape",
"deviceName": "Desktop"
}
},
"type": "clickpath",
"version": "1.0",
"events": [
{
"type": "navigate",
"wait": {
"waitFor": "page_complete"
},
"description": "navigate to main page ",
"url": "https://www.ruscomtech.ru"
}
]
},
"tags": ["restExample"]
}
Тело ответа
{
"entityId": "SYNTHETIC_TEST-00000000000254E2"
}
Код ответа
200