Multi-step / API monitoring

5 мин чтения · Продвинутые мониторы

Многошаговый мониторинг выполняет как один монитор последовательность HTTP-запросов: выполняет вход, сохраняет токен, использует его на следующем шаге и проверяет ответ через JSONPath. Он идеален для мониторинга API и процессов входа, когда одного запроса недостаточно. Доступно в планах Pro и Business для HTTP-мониторов.

Где это настроить?

  1. Откройте страницу сведений HTTP-монитора.
  2. В разделе Multi-step / API monitoring вставьте JSON-список шагов и нажмите Сохранить.
  3. Пустое поле возвращает монитор к классической одиночной проверке.

Формат шага

Шаги представляют собой JSON-список (макс. 10). Каждый шаг - это объект с такими полями:

  • url - адрес шага (обязательно). Может содержать переменную, напр. .
  • method - GET, POST, PUT, PATCH, DELETE, HEAD (по умолчанию GET).
  • headers - объект заголовков (необязательно).
  • body - тело запроса в виде текста (необязательно).
  • expect_status - ожидаемый HTTP-статус (по умолчанию 200).
  • expect_contains - текст, который должен присутствовать в ответе.
  • expect_jsonpath + expect_value - путь в JSON-ответе и ожидаемое значение.
  • save - объект переменная → JSONPath; значение сохраняется для последующих шагов.
  • name - метка шага, отображаемая в сообщении об ошибке (необязательно).

Пример: вход + проверка

[
  {
    "name": "login",
    "method": "POST",
    "url": "https://api.example.com/auth/login",
    "headers": { "Content-Type": "application/json" },
    "body": "{\"user\": \"demo\", \"pass\": \"...\"}",
    "expect_status": 200,
    "save": { "token": "data.access_token" }
  },
  {
    "name": "profile",
    "url": "https://api.example.com/me",
    "headers": { "Authorization": "Bearer " },
    "expect_jsonpath": "user.active",
    "expect_value": "True"
  }
]

JSONPath

Поддерживает точечную нотацию и индексы массивов: data.items[0].id, user.name, необязательный префикс $..

Как определяется статус: монитор имеет статус Up только если все шаги пройдены. При первом сбое он переходит в Down а в ошибке указывается номер и метка шага, на котором произошёл сбой. Время отклика = сумма всех шагов.

Полезно знать

  • Многошаговый монитор выполняется только из основного региона (мультирегиональный консенсус пропускается).
  • Целевые адреса не должны указывать на внутреннюю сеть (та же защита, что и у обычных мониторов).
  • Переменные из save действуют только в рамках одной проверки.
Было ли это руководство полезным?