Перейти к основному содержимому

For clean Markdown content of this page, append .md to this URL. For the complete documentation index, see https://docs.nvidia.com/dynamo/llms.txt. For full content including API reference and SDK examples, see https://docs.nvidia.com/dynamo/llms-full.txt.

Настройка Prometheus и Grafana

Обзор

В этом руководстве показано, как настроить Prometheus и Grafana для визуализации метрик Dynamo на одной машине в демонстрационных целях.

Grafana Dynamo Dashboard

Компоненты:

  • Сервер Prometheus - собирает и хранит метрики служб Dynamo
  • Grafana - предоставляет дашборды, запрашивая данные у сервера Prometheus

Справочник по метрикам см. в документации по метрикам.

Переменные среды

ПеременнаяОписаниеПо умолчаниюПример
DYN_SYSTEM_PORTПорт метрик/health system-1 (disabled)8081

Быстрый старт

Это пример для одной машины.

Запуск стека наблюдаемости

Запустите стек наблюдаемости (Prometheus, Grafana, Tempo, экспортёры). Инструкции и требования см. в разделе Начало работы с наблюдаемостью.

Запуск компонентов Dynamo

Запустите frontend и worker (простой пример для одной GPU):

# Запуск frontend (порт по умолчанию 8000, можно переопределить через `--http-port` или переменную среды `DYN_HTTP_PORT`)
python -m dynamo.frontend &

# Запуск worker vLLM с включёнными метриками на порту 8081
DYN_SYSTEM_PORT=8081 python -m dynamo.vllm --model Qwen/Qwen3-0.6B --enforce-eager

После запуска worker отправьте несколько тестовых запросов, чтобы заполнить метрики в системе:

curl -X POST http://localhost:8000/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "Qwen/Qwen3-0.6B",
"messages": [{"role": "user", "content": "Hello"}],
"max_completion_tokens": 100
}'

После отправки нескольких запросов текстовые метрики в формате Prometheus Exposition Format доступны по адресам:

  • Frontend: http://localhost:8000/metrics
  • Backend worker: http://localhost:8081/metrics

Примечание: серии с метками (например, ...{model="..."}) появляются только после обработки первого подходящего запроса. Подробности см. в разделе Доступные метрики.

Доступ к веб-интерфейсам

Когда компоненты Dynamo запущены:

  1. Откройте Grafana по адресу http://localhost:3000 (имя пользователя: dynamo, пароль: dynamo)
  2. Нажмите Dashboards в левой боковой панели
  3. Выберите Dynamo Dashboard, чтобы просмотреть метрики и трассировки

Другие интерфейсы:

Примечание: при доступе с другой машины замените localhost на имя хоста или IP-адрес этой машины и убедитесь, что правила брандмауэра разрешают доступ к этим портам (3000, 9090).


Конфигурация

Prometheus

Конфигурация Prometheus задаётся в файле prometheus.yml. Этот файл настроен на сбор метрик с конечной точки службы агрегации метрик.

Учтите, что может потребоваться изменить настройки target, чтобы они соответствовали вашей конфигурации хоста и сетевой среде.

После изменения prometheus.yml перезапустите службу Prometheus. Команды Docker Compose см. в разделе Начало работы с наблюдаемостью.

Grafana

Grafana предварительно настроена со следующими компонентами:

  • источником данных Prometheus
  • набором демонстрационных дашбордов в dev/observability/grafana_dashboards/ (см. ниже)

Дашборды

Дашборд Dynamo по моделям

Дашборд по моделям в dev/observability/grafana_dashboards/dynamo.json автоматически предоставляется вместе со стеком наблюдаемости.

Разделы:

  • Обзор - KPI запросов (процент успешных запросов, итоги, средние задержки).
  • Frontend - интенсивность запросов, квантили задержки, распределения длины последовательности, попадания в кэш.
  • KV Routing - активные блоки по worker, коэффициент попаданий, разбивка накладных расходов маршрутизации, события KV-кэша.
  • Workers - разбивка запросов по worker, длительность запроса, пропускная способность компонентов.

Панели метрик читают поверхности метрик dynamo_frontend_*, dynamo_component_* и dynamo_router_*, отфильтрованные по шаблонной переменной $\{model\}.

Версия для Kubernetes предоставляется из deploy/observability/grafana-dynamo-dashboard-configmap.yaml.

Устранение неполадок

  1. Проверьте, что службы запущены, с помощью docker compose ps

  2. Просмотрите журналы с помощью docker compose logs

  3. Проверьте targets Prometheus по адресу http://localhost:9090/targets, чтобы убедиться, что метрики собираются.

  4. Если возникают проблемы с устаревшими данными или конфигурацией, остановите службы, удалите тома с помощью docker compose down -v, а затем перезапустите их.

Примечание: флаг -v удаляет именованные тома (grafana-data, tempo-data), из-за чего будут сброшены дашборды и сохранённые метрики.

Конкретные команды Docker Compose см. в разделе Начало работы с наблюдаемостью.

Руководство для разработчиков

Подробную информацию о создании пользовательских метрик в компонентах Dynamo см. в: