Мониторинг и оповещения
Что отслеживать маркетмейкерам и на что настраивать оповещения.
Проверки работоспособности
Работоспособность API
Эндпоинт: GET /health
Ответ: {"status":"ok"}
Готовность: GET /ready возвращает {"status":"ready","components":[...]} с флагом ready для каждого компонента. С его помощью можно отличить API, который доступен, но ещё не обслуживает запросы, от полностью работоспособного.
Мониторинг: проверка каждые 30–60 секунд
Оповещение: если проверка работоспособности не проходит, API-сервер, вероятно, недоступен
Подключение WebSocket
Мониторинг: отслеживайте состояние подключения WebSocket
Оповещение: при обрыве соединения немедленно переподключайтесь
Рекомендация: используйте экспоненциальную задержку (exponential backoff) при переподключении
Мониторинг заявок
Доля отклонённых заявок
Метрика: процент отклонённых заявок
Оповещение: если доля отклонений превышает 5%, проверьте:
- проблемы с маржой
- ограничения уровня (tier)
- инструменты с истёкшей экспирацией
- перегрузку системы
Доля исполненных заявок
Метрика: процент исполненных заявок
Оповещение: если доля исполнения заметно снизилась, проверьте:
- рыночную конъюнктуру
- конкурентоспособность котировок
- глубину книги заявок
Задержка обработки заявок
Метрика: время от размещения заявки до исполнения или подтверждения (ack)
Оповещение: если задержка превышает 1 с, проверьте:
- перегрузку системы
- сетевые проблемы
- задержки обработки в движке
Мониторинг портфеля
Использование маржи
Метрика: использование маржи по margin_summary из GET /portfolio?wallet=.... margin_summary.initial_margin и margin_summary.maintenance_margin означают запас (остаток после требований), а не используемую маржу. Считайте использование относительно базы, которая фактически обеспечивает маржу в каждом режиме:
margin_summary.mode | База | Запас начальной маржи | Запас поддерживающей маржи |
|---|---|---|---|
portfolio | equity | initial_margin | maintenance_margin |
standard | standard_margin.cash_margin | standard_margin.initial_margin_headroom | standard_margin.maintenance_margin_headroom |
im_utilization = (basis - initial_margin_headroom) / basis
mm_utilization = (basis - maintenance_margin_headroom) / basis
База, равная нулю или меньше, считается использованной на 100%.
Оповещение: если использование начальной маржи превышает 80%, новые ордера близки к отклонению. Если использование поддерживающей маржи приближается к 100%, счёт близок к ликвидации. Рассмотрите:
- сокращение размера позиций
- внесение дополнительного обеспечения
- закрытие позиций
Свободное обеспечение
Метрика: available_balance из GET /portfolio?wallet=.... Это свободное обеспечение для новых сделок, а не денежный баланс в USDC. Марки опционов, PnL по перпам и маржинальные требования меняют его без движения денежных средств. Для суммы, доступной к выводу, используйте withdrawable_usdc.
Оповещение: если свободное обеспечение опустилось ниже порогового значения, сократите риск или пополните счёт
Мониторинг MMP
Срабатывания MMP
Метрика: число срабатываний MMP в час
Оповещение: если MMP срабатывает часто, рассмотрите:
- повышение лимитов MMP
- снижение частоты котирования
- анализ паттернов исполнения
Доля отмен через MMP
Метрика: процент заявок, отменённых MMP
Оповещение: если доля отмен через MMP превышает 10%, пересмотрите настройки MMP
Мониторинг системы
Время ответа API
Метрика: время ответа P50, P95, P99
Оповещение: если P95 превышает 500 мс, проверьте нагрузку на систему
Интенсивность сообщений WebSocket
Метрика: число сообщений в секунду по WebSocket
Оповещение: при резком росте интенсивности сообщений проверьте:
- волатильность рынка
- перегрузку системы
- задержки обработки сообщений
Рекомендуемые оповещения
- Сбой проверки работоспособности: API-сервер недоступен
- Высокая доля отклонений: отклонено более 5% заявок
- Низкая доля исполнения: исполнено менее 50% заявок (зависит от контекста)
- Высокое использование маржи: задействовано более 80% маржи
- Срабатывания MMP: более 5 срабатываний в час
- Обрыв WebSocket: соединение потеряно
- Высокая задержка: P95 превышает 500 мс
Инструменты мониторинга
Рекомендуется:
- эндпоинт проверки работоспособности для мониторинга доступности
- отслеживание состояния подключения WebSocket
- сверка заявок и исполнений для контроля точности
- отслеживание маржи портфеля
Сейчас: встроенной панели мониторинга нет. Используйте внешние инструменты (например, Prometheus, Grafana).