JSON модели*

Материал из Документация Ключ-АСТРОМ

Некоторые модели JSON API синтетических мониторов различаются в зависимости от типа модели. Модели JSON для каждого варианта перечислены ниже.

Вариации SyntheticMonitorобъекта

БРАУЗЕР

BrowserSyntheticMonitor

Параметры:

Объект _ BrowserSyntheticMonitor

Синтетический монитор.

Фактический набор полей зависит от типа монитора. Список актуальных объектов ищите в описании поля типа или смотрите Синтетические мониторы API-модели JSON .

Элемент Тип Описание
keyPerformanceMetrics KeyPerformanceMetrics Конфигурация ключевых показателей производительности.
events EventDto[] Список событий для этого монитора

Объект KeyPerformanceMetrics

Конфигурация ключевых показателей производительности.

Элемент Тип Описание
loadActionKpm string Определяет ключевую метрику производительности для действий загрузки.

Элемент может содержать эти значения

  • VISUALLY_COMPLETE
  • SPEED_INDEX
  • USER_ACTION_DURATION
  • TIME_TO_FIRST_BYTE
  • HTML_DOWNLOADED
  • DOM_INTERACTIVE
  • LOAD_EVENT_START
  • LOAD_EVENT_END
xhrActionKpm string Определяет ключевой показатель производительности для действий XHR.

Элемент может содержать эти значения

  • VISUALLY_COMPLETE
  • USER_ACTION_DURATION
  • TIME_TO_FIRST_BYTE
  • RESPONSE_END

Объект EventDto

Элемент Тип Описание
идентификатор сущности string Идентификатор события
имя string Название события
Последовательность чисел integer Порядковый номер события

JSON модель:

{
  "entityId": "SYNTHETIC_TEST-790745B687BE4D0E",
  "name": "Browser monitor",
  "frequencyMin": 10,
  "enabled": true,
  "type": "BROWSER",
  "createdFrom": "GUI",
  "script": {
    "type": "clickpath",
    "version": "1.0",
    "configuration": {
      "device": {
        "mobile": false,
        "touchEnabled": false,
        "width": 1024,
        "height": 768,
        "scaleFactor": 1
      }
    },
    "events": [
      {
        "type": "navigate",
        "description": "Loading of \"https://orf.at\"",
        "url": "https://orf.at",
        "wait": {
          "waitFor": "page_complete"
        }
      }
    ]
  },
  "locations": [
    "GEOLOCATION-0A41430434C388A9"
  ],
  "anomalyDetection": {
    "outageHandling": {
      "globalOutage": true,
      "localOutage": false,
      "localOutagePolicy": {
        "affectedLocations": 1,
        "consecutiveRuns": 3
      }
    },
    "loadingTimeThresholds": {
      "enabled": true,
      "thresholds": [
        {
          "type": "TOTAL",
          "valueMs": 10000
        }
      ]
    }
  },
  "tags": [
    {
      "context": "CONTEXTLESS",
      "key": "blabla"
    }
  ],
  "managementZones": [
    {
      "id": "-7832237287622819191",
      "name": "!!allSynthetic"
    }
  ],
  "automaticallyAssignedApps": [
    "APPLICATION-7ADA0EF404C7C545"
  ],
  "manuallyAssignedApps": [
    "APPLICATION-4ADF0EF407C7C545"
  ],
  "keyPerformanceMetrics": {
    "loadActionKpm": "VISUALLY_COMPLETE",
    "xhrActionKpm": "VISUALLY_COMPLETE"
  },
  "events": [
    {
      "entityId": "SYNTHETIC_TEST_STEP-2E6FDA5B4BC39A27",
      "name": "Loading of \"https://orf.at\"",
      "sequenceNumber": 1
    }
  ]
}

HTTP

HttpSyntheticMonitor

Параметры:

Объект HttpSyntheticMonitor

Синтетический монитор.

Фактический набор полей зависит от типа монитора. Список актуальных объектов ищите в описании поля типа или смотрите Синтетические мониторы API-модели JSON .

Элемент Тип Описание
requests RequestDto[] Список событий для этого монитора

Объект RequestDto

Элемент Тип Описание
entityId string Идентификатор запроса
name string Имя запроса
sequenceNumber integer Порядковый номер запроса

JSON модель:

{
  "entityId": "HTTP_CHECK-B58DA1B8B892A05C",
  "name": "HTTP monitor",
  "frequencyMin": 1,
  "enabled": true,
  "type": "HTTP",
  "createdFrom": "GUI",
  "script": {
    "version": "1.0",
    "requests": [
      {
        "description": "orf.at",
        "url": "https://orf.at",
        "method": "GET",
        "requestBody": "",
        "configuration": {
          "acceptAnyCertificate": true,
          "followRedirects": true
        },
        "preProcessingScript": "",
        "postProcessingScript": ""
      }
    ]
  },
  "locations": [
    "SYNTHETIC_LOCATION-61F43EECF5FB8345"
  ],
  "anomalyDetection": {
    "outageHandling": {
      "globalOutage": true,
      "localOutage": false,
      "localOutagePolicy": {
        "affectedLocations": 1,
        "consecutiveRuns": 3
      }
    },
    "loadingTimeThresholds": {
      "enabled": false,
      "thresholds": [
        {
          "type": "TOTAL",
          "valueMs": 10000
        }
      ]
    }
  },
  "tags": [],
  "managementZones": [
    {
      "id": "-7832237287622819191",
      "name": "!!allSynthetic"
    }
  ],
  "automaticallyAssignedApps": [
    "APPLICATION-4ADF0EF407C7C545"
  ],
  "manuallyAssignedApps": [
    "APPLICATION-7ADA0EF404C7C545"
  ],
  "requests": [
    {
      "entityId": "HTTP_CHECK_STEP-E9208469D53BAF38",
      "name": "orf.at",
      "sequenceNumber": 1
    }
  ]
}

Вариации SyntheticMonitorUpdateобъекта

БРАУЗЕР

BrowserSyntheticMonitorUpdate

Параметры:

Объект BrowserSyntheticMonitorUpdate

Синтетическое обновление монитора.

Фактический набор полей зависит от типа монитора. Список актуальных объектов ищите в описании поля типа или смотрите Синтетические мониторы API-модели JSON .

Элемент Тип Описание
keyPerformanceMetrics KeyPerformanceMetrics Конфигурация ключевых показателей производительности.

Объект KeyPerformanceMetrics

Конфигурация ключевых показателей производительности.

Элемент Тип Описание
loadActionKpm string Определяет ключевую метрику производительности для действий загрузки.

Элемент может содержать эти значения

  • VISUALLY_COMPLETE
  • SPEED_INDEX
  • USER_ACTION_DURATION
  • TIME_TO_FIRST_BYTE
  • HTML_DOWNLOADED
  • DOM_INTERACTIVE
  • LOAD_EVENT_START
  • LOAD_EVENT_END
xhrActionKpm string Определяет ключевой показатель производительности для действий XHR.

Элемент может содержать эти значения

  • VISUALLY_COMPLETE
  • USER_ACTION_DURATION
  • TIME_TO_FIRST_BYTE
  • RESPONSE_END

JSON модель:

{

  "name": "Browser monitor",
  "frequencyMin": 10,
  "enabled": true,
  "type": "BROWSER",
  "script": {
    "type": "clickpath",
    "version": "1.0",
    "configuration": {
      "device": {
        "mobile": false,
        "touchEnabled": false,
        "width": 1024,
        "height": 768,
        "scaleFactor": 1
      }
    },
    "events": [
      {
        "type": "navigate",
        "description": "Loading of \"https://orf.at\"",
        "url": "https://orf.at",
        "wait": {
          "waitFor": "page_complete"
        }
      }
    ]
  },
  "locations": [
    "GEOLOCATION-0A41430434C388A9"
  ],
  "anomalyDetection": {
    "outageHandling": {
      "globalOutage": true,
      "localOutage": false,
      "localOutagePolicy": {
        "affectedLocations": 1,
        "consecutiveRuns": 3
      }
    },
    "loadingTimeThresholds": {
      "enabled": true,
      "thresholds": [
        {
          "type": "TOTAL",
          "valueMs": 10000
        }
      ]
    }
  },
  "tags": [
    {
      "context": "CONTEXTLESS",
      "key": "blabla"
    }
  ],
  "manuallyAssignedApps": [
    "APPLICATION-4ADF0EF407C7C545"
  ],
  "keyPerformanceMetrics": {
    "loadActionKpm": "VISUALLY_COMPLETE",
    "xhrActionKpm": "VISUALLY_COMPLETE"
  }
}

HTTP

HttpSyntheticMonitorUpdate

Параметры:

Объект HttpSyntheticMonitorUpdate

Синтетическое обновление монитора.

Фактический набор полей зависит от типа монитора. Список актуальных объектов ищите в описании поля типа или смотрите Синтетические мониторы API-модели JSON .

Элемент Тип Описание
frequencyMin integer Частота монитора в минутах.

Вы можете использовать одно из следующих значений: 5, 10, 15, 30и 60.

anomalyDetection AnomalyDetection Конфигурация обнаружения аномалий.
type string Определяет фактический набор полей в зависимости от значения. См. один из следующих объектов:
  • BROWSER-> BrowserSyntheticMonitorUpdate
  • HTTP-> HttpSyntheticMonitorUpdate

Элемент может содержать эти значения

  • BROWSER
  • HTTP
name string Название монитора.
locations string[] Список местоположений, из которых выполняется монитор.

Чтобы указать местоположение, используйте его идентификатор объекта.

enabled boolean Монитор включен ( true) или отключен ( false).
script object Скрипт браузера или HTTP-монитора.
tags TagWithSourceInfo[] Набор тегов, присвоенных монитору.

Здесь вы можете указать только значение тега, а CONTEXTLESSконтекст и источник «ПОЛЬЗОВАТЕЛЬ» будут добавлены автоматически. Но предпочтительным вариантом является использование модели TagWithSourceDto.

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 integer Количество затронутых местоположений, для которых выдается оповещение.
consecutiveRuns integer Количество последовательных неудачных попыток вызвать оповещение.

Объект LoadingTimeThresholdsPolicyDto

Настройка порогов производительности.

Элемент Тип Описание
enabled boolean Порог производительности включен ( true) или отключен ( false).
thresholds LoadingTimeThreshold[] Список правил порога производительности.

Объект LoadingTimeThreshold

Правило порога производительности.

Элемент Тип Описание
type string Тип порога: общее время загрузки или время загрузки действия.

Элемент может содержать эти значения

  • ACTION
  • TOTAL
valueMs integer Уведомляtт, если загрузка монитора занимает больше X миллисекунд.
requestIndex integer Указывает запрос, к которому применяется порог ACTION.
eventIndex integer Укаpsdftn событие, к которому применяется порог ACTION.

Объект TagWithSourceInfo

Тег с источником объекта Ключ-АСТРОМ.

Элемент Тип Описание
source string Источник тега, например USER, RULE_BASED или AUTO.

Элемент может содержать эти значения

  • AUTO
  • RULE_BASED
  • USER
context string Происхождение тега, например AWS или Cloud Foundry.

Пользовательские теги используют это CONTEXTLESSзначение.

Элемент может содержать эти значения

  • AWS
  • AWS_GENERIC
  • AZURE
  • CLOUD_FOUNDRY
  • CONTEXTLESS
  • ENVIRONMENT
  • GOOGLE_CLOUD
  • KUBERNETES
key string Ключ тега.

Пользовательские теги имеют значение тега здесь.

value string Значение тега.

Не применимо к пользовательским тегам.

JSON модель:

{
  "name": "HTTP monitor",
  "frequencyMin": 1,
  "enabled": true,
  "type": "HTTP",
  "script": {
    "version": "1.0",
    "requests": [
      {
        "description": "orf.at",
        "url": "https://orf.at",
        "method": "GET",
        "requestBody": "",
        "configuration": {
          "acceptAnyCertificate": true,
          "followRedirects": true
        },
        "preProcessingScript": "",
        "postProcessingScript": ""
      }
    ]
  },
  "locations": [
    "SYNTHETIC_LOCATION-61F43EECF5FB8345"
  ],
  "anomalyDetection": {
    "outageHandling": {
      "globalOutage": true,
      "localOutage": false,
      "localOutagePolicy": {
        "affectedLocations": 1,
        "consecutiveRuns": 3
      }
    },
    "loadingTimeThresholds": {
      "enabled": false,
      "thresholds": [
        {
          "type": "TOTAL",
          "valueMs": 10000
        }
      ]
    }
  },
  "tags": [],
  "manuallyAssignedApps": [
    "APPLICATION-7ADA0EF404C7C545"
  ]
}