Создает новый синтетический монитор.
Конфигурация нового монитора передается через его сценарий JSON.
POST | АппОптима | 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