可观测性和监控#
使用内置指标、仪表板和日志记录来监控您的 LLM 部署。
Ray Serve LLM 提供全面的可观测性,具有以下功能:
服务级别指标:跨已部署模型的请求和 Token 行为。
引擎指标:vLLM 特定的性能指标,例如 TTFT 和 TPOT。
Grafana 仪表板:专为 LLM 可视化而预先构建的仪表板。
Prometheus 集成:所有指标的导出功能,用于自定义监控和警报。
服务级别指标#
Ray 默认启用 LLM 服务级别日志记录,这些统计信息可通过 Grafana 和 Prometheus 访问。有关配置 Grafana 和 Prometheus 的更多详细信息,请参阅 收集和监控指标。
这些更高级别的指标会跟踪跨已部署模型的请求和 Token 行为。
每个请求的平均总 Token 数
输入 Token 与生成 Token 的比率
每秒峰值 Token 数
请求延迟和吞吐量
特定模型的请求计数
Grafana 仪表板#
Ray 包含一个特定于 Serve LLM 的仪表板,该仪表板在 Grafana 中自动可用。

仪表板包含以下内容的视觉效果:
请求指标:吞吐量、延迟和错误率。
Token 指标:输入/输出 Token 计数和比率。
性能指标:首次 Token 时间 (TTFT)、每个输出 Token 的时间 (TPOT)。
资源指标:GPU 缓存利用率、内存使用情况。
引擎指标#
所有引擎指标,包括 vLLM,都可以通过 Ray 指标导出端点访问,并可使用 Prometheus 进行查询。有关完整列表,请参阅 vLLM 指标。Serve LLM Grafana 仪表板也可视化了这些指标。
关键引擎指标包括:
首次 Token 时间 (TTFT):生成第一个 Token 之前的延迟。
每个输出 Token 的时间 (TPOT):每个生成 Token 的平均延迟。
GPU 缓存利用率:KV 缓存内存使用情况。
批处理大小:当前和平均批处理大小。
吞吐量:每秒请求数和每秒 Token 数。
配置引擎指标#
从 Ray 2.51 开始,引擎指标日志记录默认开启。要禁用引擎级别指标日志记录,请在配置 LLM 部署时将 log_engine_metrics: False 设置为 False。
from ray import serve
from ray.serve.llm import LLMConfig, build_openai_app
llm_config = LLMConfig(
model_loading_config=dict(
model_id="qwen-0.5b",
model_source="Qwen/Qwen2.5-0.5B-Instruct",
),
deployment_config=dict(
autoscaling_config=dict(
min_replicas=1, max_replicas=2,
)
),
log_engine_metrics=False # Disable engine metrics
)
app = build_openai_app({"llm_configs": [llm_config]})
serve.run(app, blocking=True)
# config.yaml
applications:
- args:
llm_configs:
- model_loading_config:
model_id: qwen-0.5b
model_source: Qwen/Qwen2.5-0.5B-Instruct
accelerator_type: A10G
deployment_config:
autoscaling_config:
min_replicas: 1
max_replicas: 2
log_engine_metrics: false # Disable engine metrics
import_path: ray.serve.llm:build_openai_app
name: llm_app
route_prefix: "/"
使用数据收集#
Ray 团队收集使用数据以改进 Ray Serve LLM。该团队收集有关以下功能和属性的数据:
用于服务的模型架构。
是否使用了 JSON 模式。
是否使用了 LoRA,以及部署时最初加载了多少 LoRA 权重。
是否使用了自动缩放,以及 min 和 max 副本的设置。
使用的张量并行大小。
初始副本计数。
使用的 GPU 类型和 GPU 数量。
要选择退出使用数据收集,请参阅 Ray 使用统计信息,了解如何禁用它。