Для чистого 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 и деталям метрик см.:
- LMCache Integration Guide - Настройка и конфигурация
- LMCache Observability Documentation - Полный справочник по метрикам
Детали реализации
- vLLM v1 использует сбор метрик в многопроцессном режиме через
prometheus_client.multiprocess PROMETHEUS_MULTIPROC_DIR: (optional). По умолчанию Dynamo автоматически управляет этой переменной окружения, задавая временный каталог, где многопроцессные метрики хранятся как файлы, отображённые в память. Каждый worker process записывает свои метрики в отдельные файлы в этом каталоге, а при обращении к/metricsони агрегируются. Пользователю нужно задавать это явно только тогда, когда требуется полный контроль над каталогом метрик.- Dynamo использует
MultiProcessCollectorдля агрегации метрик от всех worker processes - Метрики на
:8081/metricsDynamo отфильтрованы до рядовvllm:*иdynamo_*. Рядыlmcache_mp_*обслуживаются процессомlmcache serverна собственном:8080/metrics. - Интеграция использует функцию Dynamo
register_engine_metrics_callback()вместе с глобальнымREGISTRY - Метрики появляются после завершения инициализации engine vLLM
- Метрики vLLM v1 отличаются от v0 - см. официальную документацию для подробностей миграции
Связанная документация
Метрики vLLM
- Официальная документация vLLM Metrics Design
- vLLM Production Metrics User Guide
- vLLM GitHub - реализация метрик
Метрики 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
- Реализация: