Массовый импорт мониторов

Массовый импорт позволяет создать десятки мониторов за один шаг — без ручного заполнения каждой формы. UpRadar поддерживает два способа импорта: загрузку CSV-файла через интерфейс и вызов JSON API для программной интеграции.

Функция доступна на тарифах Starter и выше

Импорт через CSV

CSV-импорт использует формат uptimerobot_csv, совместимый с экспортом UptimeRobot. Через CSV поддерживаются только HTTP-мониторы. Подготовьте CSV-файл с заголовками столбцов в первой строке. Обязательные столбцы должны присутствовать в каждой строке; необязательные можно опустить — UpRadar подставит значения по умолчанию.

Обязательные столбцы

СтолбецОписание
nameНазвание монитора (отображается в дашборде)
urlURL для проверки (включая протокол)
typehttp, ssl, domain или heartbeat
intervalИнтервал проверки в секундах (например: 60, 300)

Необязательные столбцы

СтолбецОписание
methodHTTP-метод: GET, POST, HEAD (по умолчанию GET)
timeoutТаймаут запроса в секундах (по умолчанию 30)
keywordКлючевое слово для проверки тела ответа
keyword_modepresent или absent (по умолчанию present)
expected_statusОжидаемый HTTP-статус (по умолчанию 200)

Пример корректного CSV-файла:

name,url,type,interval,method,expected_status
API Production,https://api.example.com/health,http,60,GET,200
Website,https://example.com,http,300,GET,200
Database backup,https://api.example.com/backup/ping,heartbeat,3600,,

Шаги для импорта через интерфейс:

  1. На странице проекта в дашборде нажмите кнопку «Импортировать мониторы».
  2. Нажмите кнопку «Импорт CSV».
  3. Загрузите подготовленный файл.
  4. Просмотрите предварительный список мониторов и ошибки валидации (если есть).
  5. Нажмите «Подтвердить импорт» — мониторы будут созданы немедленно.

Правила валидации

  • Максимум 100 мониторов за один импорт.
  • Значение interval должно быть не меньше минимального интервала вашего тарифа.
  • Дублирующиеся URL в рамках одного проекта будут отмечены предупреждением.
  • Строки с ошибками не импортируются; корректные строки создаются без изменений.

Импорт через JSON API

Для автоматизированной настройки окружений (CI/CD, Infrastructure as Code) используйте REST API. Отправьте POST-запрос с массивом мониторов в формате upradar_json. Обратите внимание: через JSON API поддерживается создание только HTTP-мониторов.

POST /api/projects/:projectId/monitors/import
Authorization: Bearer YOUR_API_TOKEN
Content-Type: application/json

{
  "monitors": [
    {
      "name": "API Production",
      "url": "https://api.example.com/health",
      "type": "http",
      "interval": 60,
      "method": "GET",
      "expectedStatus": 200
    },
    {
      "name": "Website",
      "url": "https://example.com",
      "type": "http",
      "interval": 300
    }
  ]
}

Пример успешного ответа:

{
  "created": 2,
  "failed": 0,
  "monitors": [
    { "id": 101, "name": "API Production", "status": "created" },
    { "id": 102, "name": "Website", "status": "created" }
  ]
}

Токен API находится в разделе Настройки → API-ключи. Каждый ключ привязан к конкретному проекту; используйте ключ того проекта, в который импортируете мониторы.

Обработка ошибок

При наличии ошибок валидации API возвращает подробный отчёт с указанием индекса проблемной строки в массиве (или номера строки в CSV). Корректные строки создаются в любом случае:

{
  "created": 1,
  "failed": 1,
  "monitors": [
    { "id": 101, "name": "API Production", "status": "created" },
    {
      "index": 1,
      "name": "Website",
      "status": "failed",
      "errors": ["interval must be >= 60 for your plan"]
    }
  ]
}

Совет. Если вы настраиваете несколько окружений (staging, production), создайте отдельный CSV для каждого и импортируйте в соответствующий проект — это сохранит изоляцию уведомлений и статус-страниц между окружениями.