Моніторинг і сповіщення
Що відстежувати та на що налаштовувати сповіщення маркетмейкерам.
Перевірки стану
Стан API
Ендпоінт: GET /health
Відповідь: {"status":"ok"}
Готовність: GET /ready повертає {"status":"ready","components":[...]} з прапорцем ready для кожного компонента. Використовуйте його, щоб відрізнити API, який доступний, але ще не обслуговує запити, від справного.
Моніторинг: Перевіряйте кожні 30-60 секунд
Сповіщення: Якщо перевірка стану не проходить, сервер API може бути недоступний
З'єднання WebSocket
Моніторинг: Відстежуйте стан з'єднання WebSocket
Сповіщення: Якщо з'єднання розірвано, негайно перепідключіться
Найкраща практика: Використовуйте експоненційну затримку під час перепідключення
Моніторинг ордерів
Частка відхилень
Метрика: Відсоток відхилених ордерів
Сповіщення: Якщо частка відхилень > 5%, перевірте:
- Проблеми з маржею
- Обмеження рівня (tier)
- Інструменти з минулою експірацією
- Перевантаження системи
Частка виконання
Метрика: Відсоток виконаних ордерів
Сповіщення: Якщо частка виконання суттєво знижується, перевірте:
- Ринкові умови
- Конкурентоспроможність котирувань
- Глибину книги заявок
Затримка ордерів
Метрика: Час від розміщення ордера до виконання або підтвердження
Сповіщення: Якщо затримка > 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).