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

Плейбук по инцидентам

Процедуры реагирования на типичные проблемы.

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

Разрыв WebSocket-соединения

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

Действия:

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

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

Таймаут API

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

Действия:

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

Профилактика: реализуйте троттлинг запросов и circuit breaker'ы

Проблемы с ордерами

Высокая доля отклонённых ордеров

Симптомы: множество ордеров отклоняется

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

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

Действия:

  • Если проблема с маржой: уменьшите размер позиции или добавьте обеспечение
  • Если проблема с тиром: перейдите на tier2 или используйте покрытые продажи
  • Если инструменты истекли: используйте другие инструменты

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

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

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

  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 для правильной валюты
  • При необходимости скорректируйте лимиты

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

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

Симптомы: ордера отклоняются с ошибкой «Insufficient margin»

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

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

Действия:

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

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

Симптомы: ордера отклоняются с ошибкой «No spot price available»

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

  1. Проверьте подключение к фиду спотовых цен Hyperliquid
  2. Убедитесь, что символ базового актива указан верно
  3. Проверьте работоспособность фида спотовых цен

Действия:

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

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

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

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

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

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

Действия:

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

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

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

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

Действия:

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

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

Аварийное отключение (kill switch)

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

  1. Отмените все ордера: DELETE /bulk_order или DELETE /bulk_order_cloid
  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. Свяжитесь с поддержкой, указав:
    • Адрес кошелька
    • Сообщения об ошибках
    • Временные метки
    • Шаги для воспроизведения