Эта страница переведена автоматически. Оригинал на английском языке является каноническим. Читать на английском →
Перейти к основному содержимому

Регламент реагирования на инциденты

Порядок действий при типовых проблемах.

Проблемы с подключением​

Обрыв WebSocket​

Симптомы: соединение WebSocket потеряно, сообщения не поступают

Действия:

  1. Реализуйте автоматическое переподключение с экспоненциальной задержкой
  2. Опрашивайте REST-эндпоинты, чтобы получить пропущенные обновления
  3. После переподключения заново подпишитесь на все каналы

Профилактика: отслеживайте состояние соединения и реализуйте надёжную логику переподключения

Таймаут API​

Симптомы: REST-запросы завершаются по таймауту или возвращают ошибки 5xx

Действия:

  1. Повторяйте запросы с экспоненциальной задержкой
  2. Проверьте эндпоинт состояния: GET /health
  3. Снизьте частоту запросов, если система перегружена

Профилактика: реализуйте ограничение частоты запросов и предохранители (circuit breakers)

Проблемы с заявками​

Высокая доля отклонённых заявок​

Симптомы: многие заявки отклоняются

Диагностика:

  1. Логируйте status и reason из каждого ответа на заявку и каждого сообщения WebSocket order_updates. GET /orders?wallet=... по умолчанию возвращает открытые заявки и не содержит причин отклонения
  2. Проверьте маржу: GET /portfolio?wallet=...
  3. Проверьте лимиты аккаунта: GET /risk/limits?wallet=...
  4. Убедитесь, что у инструментов не наступила экспирация: GET /instruments?currency=...

Действия:

  • Если проблема в марже: уменьшите размер позиции или внесите дополнительное обеспечение
  • Если проблема в уровне доступа (tier): покрывайте продажи длинными позициями из портфеля или обратитесь в Hypercall для смены уровня
  • Если наступила экспирация: используйте другие инструменты

Пропущенные исполнения​

Симптомы: заявки исполнены, но уведомления об исполнении не приходят

Диагностика:

  1. Проверьте исполнения через GET /fills?wallet=...
  2. Убедитесь в наличии подписки на канал WebSocket fills
  3. Проверьте состояние соединения WebSocket

Действия:

  • Заново подпишитесь на канал fills
  • Опросите REST-эндпоинт, чтобы получить пропущенные исполнения
  • Сверьте исполнения со статусами заявок

Устаревший статус заявки​

Симптомы: статус заявки в REST не совпадает с WS

Диагностика:

  1. Проверьте состояние соединения WebSocket
  2. Убедитесь, что кэш заявок актуален
  3. Сравните статусы заявки в REST и WS

Действия:

  • После переподключения WS опросите REST, чтобы получить пропущенное
  • При сверке считайте REST источником истины

Проблемы с MMP​

MMP срабатывает слишком часто​

Симптомы: многие заявки отменяются механизмом MMP

Диагностика:

  1. Проверьте конфигурацию MMP подписанным запросом GET /mmp-config?wallet=...&currency=...
  2. Проанализируйте структуру исполнений и накопленные метрики
  3. Проверьте, не занижены ли лимиты

Действия:

  • Увеличьте лимиты MMP (объём, дельта, вега)
  • Увеличьте interval_ms, чтобы в окно помещалось больше исполнений
  • Снизьте частоту котирования

MMP не срабатывает​

Симптомы: исполнения превышают лимиты, но MMP не срабатывает

Диагностика:

  1. Убедитесь, что MMP включён, подписанным запросом GET /mmp-config?wallet=...&currency=...
  2. Проверьте, что в заявках указано mmp_enabled=true
  3. Убедитесь, что валюта совпадает с базовым активом заявки

Действия:

  • Включите MMP в заявках: mmp_enabled=true
  • Настройте MMP для нужной валюты
  • При необходимости скорректируйте лимиты

Подписанные запросы на чтение MMP передают срок действия и подпись GetMmpConfig в заголовках X-Hypercall-Expires-At-Ms и X-Hypercall-Signature.

Проблемы с маржой​

Недостаточно маржи​

Симптомы: заявки отклоняются с причиной "Insufficient margin"

Диагностика:

  1. Проверьте портфель: GET /portfolio?wallet=...
  2. Проанализируйте расчёт маржи
  3. Определите, какой сценарий не проходит

Действия:

  • Уменьшите размер позиции
  • Внесите дополнительное обеспечение
  • Закройте позиции, чтобы высвободить маржу
  • Захеджируйте экспозицию, чтобы снизить убыток в худшем сценарии

Отсутствует спотовая цена​

Симптомы: заявки отклоняются с причиной, начинающейся с "Missing spot price for underlying"

Диагностика:

  1. Проверьте index_price для базового актива в GET /markets
  2. Убедитесь, что тикер базового актива указан верно
  3. Проверьте страницу статуса на наличие инцидента с оракулом

Действия:

  • Дождитесь восстановления потока спотовых цен
  • По возможности используйте другой базовый актив
  • Если проблема сохраняется, обратитесь в поддержку

Системные проблемы​

Высокая задержка​

Симптомы: медленные ответы API или задержки сообщений WebSocket

Диагностика:

  1. Проверьте нагрузку на систему
  2. Отслеживайте время ответа
  3. Проверьте сетевое подключение

Действия:

  • Снизьте частоту запросов
  • Реализуйте ограничение частоты запросов
  • Если проблема сохраняется, обратитесь в поддержку

Ограничение частоты запросов​

Симптомы: запросы отклоняются или замедляются

Текущая ситуация: лимиты частоты применяются к каждому кошельку, с отдельными лимитами по источнику для отмен, авторизации агентов, записи MMP и симуляций риска. Подробнее см. Лимиты частоты запросов.

Действия:

  • Проверяйте заголовок Retry-After и выжидайте перед повтором
  • Отслеживайте X-RateLimit-Remaining, чтобы не упираться в лимиты
  • По возможности используйте пакетные эндпоинты

Экстренные процедуры​

Аварийная остановка (kill switch)​

Немедленные действия:

  1. Отмените все заявки: DELETE /bulk_order или DELETE /bulk_order_cloid, до 50 заявок за запрос
  2. Отключите WebSocket
  3. Остановите систему котирования

Восстановление:

  1. Убедитесь, что все заявки отменены: GET /orders?wallet=...
  2. Проверьте портфель: GET /portfolio?wallet=...
  3. Выясните первопричину
  4. Возобновите котирование после устранения проблемы

Сверка данных​

После инцидента:

  1. Опросите REST-эндпоинты, чтобы получить текущее состояние
  2. Сверьте заявки: GET /orders?wallet=...
  3. Сверьте исполнения: GET /fills?wallet=...
  4. Сверьте портфель: GET /portfolio?wallet=...
  5. Возобновите подписки WebSocket

Эскалация​

Если проблема сохраняется:

  1. Изучите известные проблемы и уведомления о стейджинге, полученные вместе с доступом
  2. Ознакомьтесь с подробными процедурами в разделе Ранбуки
  3. Обратитесь в поддержку, указав:
    • Адрес кошелька
    • Сообщения об ошибках
    • Временные метки
    • Шаги для воспроизведения