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

Для чистого Markdown-содержимого этой страницы добавьте .md к этому URL. Полный индекс документации см. в https://docs.nvidia.com/dynamo/llms.txt. Полное содержимое, включая API reference и примеры SDK, см. в https://docs.nvidia.com/dynamo/llms-full.txt.

Prometheus

Обзор

При запуске vLLM через Dynamo метрики движка vLLM автоматически проксируются и публикуются на эндпоинте Dynamo /metrics (порт по умолчанию 8081). Это позволяет получать и метрики движка vLLM (с префиксом vllm:), и метрики runtime Dynamo (с префиксом dynamo_*) через один эндпоинт backend worker.

За полным и авторитетным списком всех метрик vLLM всегда обращайтесь к официальной документации vLLM Metrics Design.

По метрикам и интеграции LMCache см. LMCache Integration Guide.

По метрикам runtime Dynamo см. Dynamo Metrics Guide.

По инструкциям по настройке визуализации см. Prometheus and Grafana Setup Guide.

Переменные окружения и флаги

ПеременнаяОписаниеЗначение по умолчаниюПример
DYN_SYSTEM_PORTПорт системных метрик/health. Требуется, чтобы публиковать эндпоинт /metrics.-1 (отключено)8081

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

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

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

Чтобы визуализировать метрики с помощью Prometheus и Grafana, запустите стек наблюдаемости. Инструкции см. в Observability Getting Started.

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

Скрипты запуска в examples/backends/vllm/launch/ уже включают метрики на порту 8081 по умолчанию. Например:

cd $DYNAMO_HOME/examples/backends/vllm
bash launch/agg.sh

Когда развертывание запущено, отправьте запрос и проверьте метрики:

curl -s localhost:8081/metrics | grep "^vllm:"

Публикуемые метрики

vLLM публикует метрики в текстовом формате Prometheus Exposition Format на HTTP-эндпоинте /metrics. Все метрики движка vLLM используют префикс vllm: и включают labels (например, model_name, finished_reason, scheduling_event) для идентификации источника.

Пример текста в формате Prometheus Exposition Format:

# HELP vllm:request_success_total Number of successfully finished requests.
# TYPE vllm:request_success_total counter
vllm:request_success_total{finished_reason="length",model_name="meta-llama/Llama-3.1-8B"} 15.0
vllm:request_success_total{finished_reason="stop",model_name="meta-llama/Llama-3.1-8B"} 150.0

# HELP vllm:time_to_first_token_seconds Histogram of time to first token in seconds.
# TYPE vllm:time_to_first_token_seconds histogram
vllm:time_to_first_token_seconds_bucket{le="0.001",model_name="meta-llama/Llama-3.1-8B"} 0.0
vllm:time_to_first_token_seconds_bucket{le="0.005",model_name="meta-llama/Llama-3.1-8B"} 5.0
vllm:time_to_first_token_seconds_count{model_name="meta-llama/Llama-3.1-8B"} 165.0
vllm:time_to_first_token_seconds_sum{model_name="meta-llama/Llama-3.1-8B"} 89.38

Примечание: Показанные выше метрики являются примерами и могут различаться в зависимости от версии vLLM. Всегда проверяйте ваш фактический эндпоинт /metrics или обращайтесь к официальной документации за актуальным списком.

Категории метрик

vLLM предоставляет метрики следующих категорий (все с префиксом vllm:):

  • Метрики запросов - Отслеживание успешных, неуспешных и завершённых запросов
  • Метрики производительности - Задержки, пропускная способность и измерения времени
  • Использование ресурсов - Потребление системных ресурсов
  • Метрики планировщика - Планирование и управление очередями
  • Метрики disaggregation - Метрики, специфичные для disaggregated-развертываний (когда включено)

Примечание: Конкретные метрики могут меняться между версиями vLLM. Всегда обращайтесь к официальной документации или проверяйте эндпоинт /metrics для вашей версии vLLM.

Доступные метрики

Официальная документация vLLM содержит полные определения метрик с:

  • Подробными объяснениями и обоснованием дизайна
  • Типами метрик Counter, Gauge и Histogram
  • Метками метрик (например, model_name, finished_reason, scheduling_event)
  • Информацией о миграции метрик v1
  • Сведениями о будущих работах и устаревших метриках

За полным и авторитетным списком всех метрик vLLM см. официальную документацию vLLM Metrics Design.

Метрики LMCache

lmcache server работает как out-of-process sidecar и публикует свои метрики (с префиксом lmcache_mp_) на собственном HTTP admin port (по умолчанию :8080/metrics). Метрики vLLM и Dynamo остаются на :8081/metrics Dynamo.

Чтобы попробовать это, используйте скрипт запуска LMCache:

cd $DYNAMO_HOME/examples/backends/vllm
bash launch/agg_lmcache_mp.sh

Отправьте запрос и посмотрите метрики LMCache:

curl -s localhost:8080/metrics | grep '^lmcache_mp_'

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

Устранение неполадок, связанных с метриками и логами LMCache, описано в:

Для полной информации по настройке LMCache и деталям метрик см.:

Детали реализации

  • vLLM v1 использует сбор метрик в многопроцессном режиме через prometheus_client.multiprocess
  • PROMETHEUS_MULTIPROC_DIR: (optional). По умолчанию Dynamo автоматически управляет этой переменной окружения, задавая временный каталог, где многопроцессные метрики хранятся как файлы, отображённые в память. Каждый worker process записывает свои метрики в отдельные файлы в этом каталоге, а при обращении к /metrics они агрегируются. Пользователю нужно задавать это явно только тогда, когда требуется полный контроль над каталогом метрик.
  • Dynamo использует MultiProcessCollector для агрегации метрик от всех worker processes
  • Метрики на :8081/metrics Dynamo отфильтрованы до рядов vllm:* и dynamo_*. Ряды lmcache_mp_* обслуживаются процессом lmcache server на собственном :8080/metrics.
  • Интеграция использует функцию Dynamo register_engine_metrics_callback() вместе с глобальным REGISTRY
  • Метрики появляются после завершения инициализации engine vLLM
  • Метрики vLLM v1 отличаются от v0 - см. официальную документацию для подробностей миграции

Связанная документация

Метрики vLLM

Метрики Dynamo

  • Dynamo Metrics Guide - Полная документация по метрикам runtime Dynamo
  • Prometheus and Grafana Setup - Инструкции по настройке визуализации
  • Метрики runtime Dynamo (с префиксом dynamo_*) доступны на том же эндпоинте /metrics вместе с метриками vLLM
    • Реализация: lib/runtime/src/metrics.rs (метрики Rust runtime)
    • Имена метрик: lib/runtime/src/metrics/prometheus_names.rs (константы имён метрик)
    • Код интеграции: components/src/dynamo/common/utils/prometheus.py - утилиты Prometheus и регистрация callback