当前位置: 首页 > news >正文

启动监控页面监控vllm,大模型,显存的占用情况

做成一套“Prometheus + Grafana”的可视化监控页,把 vLLM 自带指标、GPU(VRAM) 指标、容器/主机 CPU&内存 全收集到同一个看板里。

方案总览

数据源(exporters)
1. vLLM 自带 /metrics(Prometheus 格式,含运行中/排队请求数、KV-Cache/GPU 显存占用等)。
2. NVIDIA 显卡:DCGM Exporter 暴露 VRAM/利用率/温度/功耗 等到 /metrics。
• 如果是华为 Ascend,可用 npu-smi 做巡检;Prometheus 侧常用 node_exporter 的 textfile collector 或脚本导出器把 npu-smi 结果转成指标(工程做法)。
3. 容器/宿主机:cAdvisor(容器 CPU/内存/网络/重启次数等)。

采集与展示
• Prometheus 抓取所有 /metrics;Grafana 做“单页看板”。
• 云上也可以直接用 Google Cloud Managed Prometheus + 现成 vLLM Dashboard。
• 如需看“每个请求的阶段耗时/链路”,加 OpenTelemetry + Jaeger(vLLM 已提供 OTel 示例)。

一键部署(Docker Compose 示例)

把下面两个文件放到同一目录:

  1. docker-compose.yml
version: "3.8"
services:# 你的 vLLM(也可以是外部已有实例;这里仅示例)vllm:image: <your_vllm_image>command: ["python3","-m","vllm.entrypoints.openai.api_server","--model","/models/qwen3"]ports: ["8000:8000"]# 如果跑在别处,把 job 里 targets 指到实际地址即可# Prometheus(抓取 vLLM /metrics、DCGM、cAdvisor)prometheus:image: prom/prometheusvolumes:- ./prometheus.yml:/etc/prometheus/prometheus.yml:roports: ["9090:9090"]# Grafana(做监控页面)grafana:image: grafana/grafanaports: ["3000:3000"]environment:- GF_SECURITY_ADMIN_PASSWORD=admin# NVIDIA GPU 指标(DCGM Exporter)dcgm:image: nvidia/dcgm-exporter:latestruntime: nvidiaprivileged: trueports: ["9400:9400"]   # /metrics# 容器指标(cAdvisor)cadvisor:image: gcr.io/cadvisor/cadvisor:latestprivileged: trueports: ["8080:8080"]volumes:- /:/rootfs:ro- /var/run:/var/run:ro- /sys:/sys:ro- /var/lib/docker/:/var/lib/docker:ro
  1. prometheus.yml
global:scrape_interval: 2s
scrape_configs:- job_name: 'vllm'metrics_path: /metricsstatic_configs:- targets: ['vllm:8000']      # 改成你的 vLLM 地址:端口- job_name: 'dcgm'static_configs:- targets: ['dcgm:9400']      # NVIDIA GPU 指标- job_name: 'cadvisor'static_configs:- targets: ['cadvisor:8080']  # 容器/系统指标

启动:

docker compose up -d
# 访问 Grafana: http://localhost:3000  (admin / admin)
# 访问 Prometheus: http://localhost:9090

DCGM Exporter 会暴露诸如 DCGM_FI_DEV_FB_USED(显存已用 MiB)、DCGM_FI_DEV_GPU_UTIL(GPU 利用率 %)等指标;Prometheus 会自动抓取。

Grafana 看板怎么做(关键图表 + PromQL)

注:vLLM 指标在不同打包里命名略有差异(上游常见 vllm_running_requests / vllm_waiting_requests;有的发行版写成 vllm_num_requests_running / vllm_num_requests_waiting)。下面给出两套写法,有哪个用哪个。 

A. vLLM 负载 & 排队
• 正在运行请求数(Gauge)
• max(vllm_running_requests) 或 max(vllm_num_requests_running)
• 排队等待请求数(Gauge)
• max(vllm_waiting_requests) 或 max(vllm_num_requests_waiting)

B. vLLM 显存 / KV-Cache(若你的版本暴露了该指标)
• GPU 显存使用(字节 → GiB)
• max(vllm_gpu_memory_usage_bytes) / 1024 / 1024 / 1024 (可做单值 + 阈值配色)

C. GPU(NVIDIA / DCGM)
• 显存使用(MiB)
• DCGM_FI_DEV_FB_USED
• GPU 利用率(%)
• DCGM_FI_DEV_GPU_UTIL
• 温度/功耗(可选)
• DCGM_FI_DEV_GPU_TEMP、DCGM_FI_DEV_POWER_USAGE 等(视驱动/机型)。 

D. 容器/主机(cAdvisor)
• vLLM 容器内存使用
• container_memory_working_set_bytes{container=“vllm”}
• vLLM 容器 CPU 使用率(近 1m)
• rate(container_cpu_usage_seconds_total{container=“vllm”}[1m])

现成模板
• 你也可以直接导入 cAdvisor/Grafana 官方 Docker 容器看板,再加上 vLLM 图表:ID 19908 / 15798(Grafana.com 导入)。 
• 在 GKE 上可直接启用 vLLM 托管看板(Managed Prometheus 提供)。 

告警(Prometheus rules 示例)

新建 alerts.yml 并在 prometheus.yml 里 rule_files: [“alerts.yml”] 引用:

groups:
- name: vllm-alertsrules:- alert: VLLMWaitingQueueHighexpr: (max(vllm_waiting_requests) OR max(vllm_num_requests_waiting)) > 5for: 2mlabels: {severity: warning}annotations:summary: "vLLM 等待队列偏高"description: "等待请求数持续 > 5,可能需要扩批/加副本或限流。"- alert: GPUMemoryHighexpr: DCGM_FI_DEV_FB_USED / (DCGM_FI_DEV_FB_USED + DCGM_FI_DEV_FB_FREE) > 0.90for: 5mlabels: {severity: warning}annotations:summary: "GPU 显存使用 > 90%"description: "显存紧张,可能影响并发与稳定性。"- alert: VLLMNoRequestsButHighMemexpr: (max(vllm_running_requests) OR max(vllm_num_requests_running)) == 0and DCGM_FI_DEV_FB_USED > 2000for: 10mlabels: {severity: info}annotations:summary: "无请求但显存占用较高"description: "检查是否有残留 KV-Cache 或进程泄漏。"

进阶:分布式追踪(可选)

如果你想在页面里看到“一次调用从进入到首 Token/解码完成”的时间线:
• 给 vLLM 开 OpenTelemetry,跑个 Jaeger 或接你已有 OTel Collector;Grafana 也可接 Trace 数据源。vLLM 官方有 OTel 示例与生产栈教程。 

小结(你将获得的“单页监控”)
• vLLM 引擎健康度:运行/等待请求数、(可选)TTFT/吞吐趋势
• 模型资源:KV-Cache/GPU 显存使用(vLLM 暴露) + GPU 真实 VRAM/利用率/温度/功耗(DCGM)
• 容器/系统资源:CPU、内存、网络、重启
• 告警:排队过高、显存吃紧、异常空跑
• (可选)调用链:OTel + Jaeger

上述组件与指标均来自 vLLM 官方/文档与主流 GPU 监控方案(DCGM、cAdvisor),生产上已被广泛采用。

http://www.dtcms.com/a/482291.html

相关文章:

  • JavaWeb中字节流与字符流的本质区别
  • 从代码实现到概念创新:AIGC如何重塑数据可视化的价值链条?
  • ONLYOFFICE 前端实现历史记录存储与多人协作完整指南
  • 操作系统准备(UOS)
  • 不想折腾环境?如何最快用上MySQL 8.0?
  • [Dify] 插件输入参数配置详解:让 Agent 能正确理解与填写请求参数
  • 海外网站建设网站登录密码保存在哪里设置
  • 电子商务网站建设的定义网站建设包括哪些东西
  • git和svn服务器的区别和作用
  • 解决打patch冲突
  • 图像处理(三)--开运算与闭运算,梯度运算,礼帽与黑帽
  • 手搓二叉平衡搜索树--AVL树(万字长文/图文详解)
  • 超简单的Windows配置Codex教程
  • 机械网站建设栏目内容网站项目开发的制作流程
  • 模式识别与机器学习课程笔记(6):人工神经网络
  • 岳阳网站开发绍兴seo
  • STM32开发实例_基于STM32单片机的红外测温系统(电路图+程序+流程图)24-32-59
  • NLTK库用法示例:Python自然语言处理入门到实践
  • 待补充 五大关系数据库(sqlserver、mysql、oracle、pgsql、sqlite)的列类型:目录
  • 往kafka创建生产者和消费者,并且打数据和消费数据
  • linux iptables介绍
  • sqlite: 动态列类型
  • 做商品网站数据库有哪些阜阳做网站多少钱
  • 房地产开发公司网站网站推广方案200字
  • Android MVVM架构解析:现代开发的首选模式
  • 车机系统的「共享镜头」:如何实现多用户同时拍照
  • 开源链动2+1模式AI智能名片S2B2C商城小程序在竞争激烈的中低端面膜服装行业中的应用与策略
  • Java学习路线推荐!
  • 网站伪静态是什么意思个人网站设计模板素材
  • 萧山工程建设有限公司网站济南网站建设公司哪家专业