Перейти к содержанию

Мониторинг

Ultralytics обеспечивает мониторинг развернутых конечных точек. Отслеживайте метрики запросов, просматривайте журналы и проверяйте состояние с помощью автоматического опроса.

Обзор страницы развертывания Ultralytics Карты и карта мира

Панель управления развертыванием

Параметр Deploy Страница в боковой панели служит панелью мониторинга для всех ваших развертываний. Она объединяет карту мира, обзорные метрики и управление развертыванием в одном окне. См. Выделенные конечные точки для создания и управления развертываниями.

graph TB
    subgraph Dashboard
        Map[World Map] --- Cards[Overview Cards]
        Cards --- List[Deployments List]
    end
    subgraph "Per Deployment"
        Metrics[Metrics Row]
        Health[Health Check]
        Logs[Logs Tab]
        Code[Code Tab]
        Predict[Predict Tab]
    end
    List --> Metrics
    List --> Health
    List --> Logs
    List --> Code
    List --> Predict

    style Dashboard fill:#f5f5f5,color:#333
    style Map fill:#2196F3,color:#fff
    style Cards fill:#FF9800,color:#fff
    style List fill:#4CAF50,color:#fff

Обзорные карточки

Четыре сводные карты в верхней части страницы показывают:

Ultralytics Страница развертывания Четыре обзорные карты

МетрикаОписание
Общее количество запросов (24 часа)Запросы по всем конечным точкам
Активные развертыванияАктивно работающие конечные точки
Частота ошибок (24 часа)Процент неудачных запросов
P95 Задержка (24 часа)95-й процентиль времени отклика

Предупреждение об ошибке

Карточка с показателем ошибок выделяется красным цветом, когда показатель превышает 5 %. Проверьте Logs вкладка «Индивидуальные развертывания» для диагностики ошибок.

Карта мира

Интерактивная карта мира показывает:

  • Региональные значки для всех 43 доступных регионов
  • Зеленые значки для развернутых регионов
  • Анимированные синие значки для регионов, в которых в настоящее время осуществляются активные развертывания
  • Размер пина варьируется в зависимости от статуса развертывания и задержки

Страница развертывания Ultralytics Карта мира с развернутыми регионами

Список развертываний

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

ВидОписание
КартыПодробные карты с метриками, журналами, кодом и вкладками прогнозов
КомпактныйСетка из небольших карточек (1–4 столбца) с ключевыми показателями
ТаблицаТаблица данных с сортируемыми столбцами: Имя, Регион, Статус, Запросы, P95, Ошибки

Обновления в реальном времени

Панель управления опрашивает обновления метрик каждые 30 секунд. Когда развертывания находятся в переходном состоянии (создание, развертывание), опрос увеличивается до каждых 3 секунд. Нажмите кнопку обновления для немедленного обновления.

Показатели по развертыванию

Каждая карта развертывания (в представлении карт) отображает метрики в режиме реального времени:

Строка метрик

МетрикаОписание
ЗапросыКоличество запросов (за 24 часа) с иконкой
Задержка P9595-й процентиль времени отклика
Процент ошибокПроцент неудачных запросов

Показатели извлекаются из конечной точки API sparkline и обновляются каждые 60 секунд.

Проверка работоспособности (Health Check)

В процессе развертывания отображается индикатор проверки работоспособности:

ИндикаторЗначение
Зеленое сердцеЗдоровый — показывает задержку реакции
Красное сердцеНездоровый — отображает сообщение об ошибке
Вращающийся значокПроверка работоспособности в процессе

Проверка работоспособности повторяется автоматически каждые 20 секунд, если система не работает. Нажмите значок обновления, чтобы вручную запустить проверку работоспособности. Проверка работоспособности использует таймаут 55 секунд, чтобы учесть холодный запуск конечных точек с масштабированием до нуля.

Карта развертывания Ultralytics Проверка работоспособности Работоспособно с задержкой

Толерантность к холодному запуску

Проверка работоспособности использует таймаут 55 секунд, чтобы учесть холодный запуск конечных точек с масштабированием до нуля (до ~45 секунд в худшем случае). После прогрева конечной точки проверка работоспособности завершается за миллисекунды.

Логи

Каждая карта развертывания включает в себя Logs вкладка для просмотра последних записей журнала:

Вкладка «Журналы» Ultralytics с фильтром по степени серьезности

Записи журнала

Каждая запись лога содержит:

ПолеОписание
ВажностьЦветная шкала (см. ниже)
Временная меткаВремя запроса (местный формат)
СообщениеСодержимое лога
Информация HTTPКод состояния и задержка (если применимо)

Фильтруйте журналы по степени серьезности с помощью кнопок фильтра:

УровеньЦветОписание
DEBUGСерыйСообщения об отладке
INFOСинийОбычные запросы
WARNINGЖелтыйНекритические проблемы
ERRORКрасныйНеудачные запросы
КРИТИЧЕСКИЙТемно-красныйКритические сбои
УправлениеОписание
ОшибкиФильтр для записей ERROR и WARNING
ВсеПоказать все записи журнала
КопироватьСкопировать все видимые журналы в буфер обмена
ОбновитьПерезагрузить записи журнала

В пользовательском интерфейсе отображаются 20 последних записей. По умолчанию API возвращает 50 записей на каждый запрос (максимум 200).

Рабочий процесс отладки

При расследовании ошибок: сначала нажмите «Ошибки», чтобы отфильтровать записи ERROR и WARNING, затем просмотрите временные метки и коды статуса HTTP. Скопируйте журналы в буфер обмена, чтобы поделиться ими со своей командой.

Примеры кода

Каждая карта развертывания включает в себя Code вкладка, отображающая готовый к использованию код API с вашим фактическим URL-адресом конечной точки и ключом API:

import requests

# Deployment endpoint
url = "https://predict-abc123.run.app/predict"

# Headers with your deployment API key
headers = {"Authorization": "Bearer YOUR_API_KEY"}

# Inference parameters
data = {"conf": 0.25, "iou": 0.7, "imgsz": 640}

# Send image for inference
with open("image.jpg", "rb") as f:
    response = requests.post(url, headers=headers, data=data, files={"file": f})

print(response.json())
// Build form data with image and parameters
const formData = new FormData();
formData.append("file", fileInput.files[0]);
formData.append("conf", "0.25");
formData.append("iou", "0.7");
formData.append("imgsz", "640");

// Send image for inference
const response = await fetch(
  "https://predict-abc123.run.app/predict",
  {
    method: "POST",
    headers: { Authorization: "Bearer YOUR_API_KEY" },
    body: formData,
  }
);

const result = await response.json();
console.log(result);
# Send image for inference
curl -X POST "https://predict-abc123.run.app/predict" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "file=@image.jpg" \
  -F "conf=0.25" \
  -F "iou=0.7" \
  -F "imgsz=640"

Автоматически заполняемые учетные данные

При просмотре Code вкладке платформы, ваш фактический URL-адрес конечной точки и ключ API заполняются автоматически. Скопируйте код и запустите его напрямую. См. Ключи API для генерации ключа.

Прогнозирование развертывания

Параметр Predict Вкладка на каждой карте развертывания содержит встроенную панель прогнозирования — тот же интерфейс, что и в модели. Predict вкладке, но выполняя вывод через конечную точку развертывания вместо общей службы. Это полезно для тестирования развернутой конечной точки непосредственно из браузера. См. Инференс для получения подробной информации о параметрах и форматах ответов.

Конечные точки API

Обзор мониторинга

GET /api/monitoring

Возвращает агрегированные метрики для всех развертываний, принадлежащих аутентифицированному пользователю. Работает с рабочей областью через опциональный owner параметр запроса.

Показатели развертывания

GET /api/deployments/{deploymentId}/metrics?sparkline=true&range=24h

Возвращает данные мини-графиков и сводные показатели для конкретного развертывания. Интервал обновления: 60 секунд.

ПараметрТипОписание
sparklineboolВключить данные мини-графиков
rangeстрокаВременной диапазон: 1h, 6h, 24h, 7d, или 30d

Журналы развертывания

GET /api/deployments/{deploymentId}/logs?limit=50&severity=ERROR,WARNING

Возвращает последние записи журнала с опциональным фильтром по степени серьезности и пагинацией.

ПараметрТипОписание
limitintМаксимальное количество возвращаемых записей (по умолчанию: 50, максимум: 200)
severityстрокаФильтр серьезности, разделенный запятыми
pageTokenстрокаТокен пагинации из предыдущего ответа

Здоровье при развертывании

GET /api/deployments/{deploymentId}/health

Возвращает статус проверки работоспособности с задержкой ответа.

{
    "healthy": true,
    "status": 200,
    "latencyMs": 142
}

Оптимизация производительности

Используйте данные мониторинга для оптимизации развертываний:

Если задержка слишком высока:

  1. Проверьте количество экземпляров (возможно, потребуется больше)
  2. Убедитесь, что размер модели соответствует требованиям
  3. Рассмотрим более близкий регион
  4. Проверьте размеры отправляемых изображений

Сокращение задержки

Переключить с imgsz=1280 в imgsz=640 для увеличения скорости примерно в 4 раза с минимальной потерей точности в большинстве случаев использования. Разверните в регионе, ближе к вашим пользователям, для снижения задержки сети.

Если возникают ошибки:

  1. Просмотрите журналы ошибок в Logs вкладка
  2. Проверьте формат запроса (требуется многочастная форма)
  3. Убедитесь, что ключ API действителен
  4. Проверьте ограничения скорости запросов

При достижении предела производительности:

  1. Рассмотрите использование нескольких регионов
  2. Оптимизируйте пакетирование запросов
  3. Увеличьте ресурсы CPU памяти

Часто задаваемые вопросы

Как долго хранятся данные?

Тип данныхСрок хранения
Метрики30 дней
Логи7 дней

Могу ли я настроить внешний мониторинг?

Да, URL-адреса конечных точек работают с внешними инструментами мониторинга:

  • Мониторинг доступности (Pingdom, UptimeRobot)
  • Инструменты APM (Datadog, New Relic)
  • Пользовательские проверки работоспособности через /health конечная точка

Насколько точны показатели задержки?

Метрики задержки измеряют:

  • P50: Медианное время ответа
  • P95: 95-й перцентиль
  • P99: 99-й перцентиль

Они представляют время обработки на стороне сервера, не включая сетевую задержку до ваших пользователей.

Почему мои метрики задерживаются?

Метрики имеют задержку около 2 минут из-за:

  • Конвейера агрегации метрик
  • Окон агрегации
  • Кэширования дашбордов

Для отладки в реальном времени проверяйте логи, которые обновляются почти мгновенно.

Могу ли я отслеживать несколько конечных точек одновременно?

Да, на странице развертываний отображаются все конечные точки с агрегированными обзорными карточками. Используйте табличный вид для сравнения производительности между развертываниями.



📅 Создано 1 месяц назад ✏️ Обновлено 5 дней назад
glenn-jochersergiuwaxmann

Комментарии