做美图 网站,wordpress中文标题404,阿里云做哪里查网站,万网网站建设教程Nanbeige4.1-3B vLLM服务监控教程#xff1a;PrometheusGrafana指标接入 1. 引言#xff1a;为什么需要监控你的AI模型服务#xff1f; 想象一下#xff0c;你花了不少时间#xff0c;终于把Nanbeige4.1-3B这个强大的文本生成模型用vLLM部署好了#xff0c;还配上了Cha…Nanbeige4.1-3B vLLM服务监控教程PrometheusGrafana指标接入1. 引言为什么需要监控你的AI模型服务想象一下你花了不少时间终于把Nanbeige4.1-3B这个强大的文本生成模型用vLLM部署好了还配上了Chainlit前端界面看着挺酷。一开始用着挺顺但过了一段时间你可能会遇到一些头疼的问题半夜突然有用户反馈说服务响应变慢了但你完全不知道发生了什么。模型服务内存占用越来越高直到某天突然崩溃你才后知后觉。想看看模型一天到底处理了多少请求哪些时间段最忙却找不到数据。这时候一个“黑盒”式的服务就让人很没安全感。你不知道它里面在发生什么出了问题也只能靠猜。服务监控就是给你的AI模型服务装上“仪表盘”和“行车记录仪”。它能让你实时看到服务的“心跳”CPU、内存、吞吐量请求数、延迟以及各种关键指标把“黑盒”变成“白盒”。今天这篇教程我就手把手带你为你的Nanbeige4.1-3B vLLM服务搭建一套基于Prometheus和Grafana的专业级监控系统。这套组合是云原生监控领域的“黄金搭档”能让你像运维专家一样清晰、直观地掌握服务的每一个运行细节。通过本教程你将学会理解vLLM服务暴露了哪些关键监控指标。使用Prometheus自动抓取和存储这些指标数据。使用Grafana创建美观、实用的监控仪表盘可视化所有数据。掌握从零到一搭建监控体系的完整流程。准备好了吗让我们开始吧。2. 环境准备与前置检查在开始搭建监控之前我们需要确保基础环境是就绪的。假设你已经按照之前的教程成功部署了基于vLLM的Nanbeige4.1-3B服务并且可以通过Chainlit前端正常访问。2.1 确认vLLM服务状态首先我们确认一下模型服务是否在正常运行。打开终端使用curl命令或查看日志。# 方法一查看服务日志假设日志文件路径为 /root/workspace/llm.log tail -f /root/workspace/llm.log # 你应该能看到服务持续运行没有报错信息。 # 方法二直接向vLLM服务的健康检查端点发送请求 # 假设你的vLLM服务运行在本地localhost的8000端口 curl http://localhost:8000/health如果服务健康你会收到一个简单的OK响应。这证明我们的监控对象——vLLM服务——是活着的。2.2 检查vLLM的监控指标端点vLLM服务默认会在一个特定的端口通常是8000端口下的/metrics路径暴露Prometheus格式的监控指标。这是监控数据来源的关键。# 访问vLLM服务的metrics端点 curl http://localhost:8000/metrics执行这条命令后如果你的终端开始刷出一大堆以# HELP和# TYPE开头后面跟着类似vllm:num_requests_total 10这样的文本行那么恭喜你监控数据的“水龙头”已经打开了。这些就是Prometheus能够理解的指标数据。如果没看到数据请检查你的vLLM启动命令。确保在启动vLLM时没有禁用指标收集并且服务绑定到了正确的网络接口--host参数通常设为0.0.0.0以便其他服务访问。3. 部署Prometheus数据的抓取与存储中心Prometheus就像一个不知疲倦的数据采集员它会定期去访问我们上一步找到的/metrics端点把数据“抓取”回来并存储在自己的时间序列数据库中。3.1 下载并安装Prometheus我们直接在服务器上操作。访问Prometheus官网下载最新稳定版。# 进入一个常用的安装目录例如 /opt cd /opt # 下载Prometheus请替换为官网最新的版本号以下以2.51.2为例 wget https://github.com/prometheus/prometheus/releases/download/v2.51.2/prometheus-2.51.2.linux-amd64.tar.gz # 解压 tar -xzf prometheus-2.51.2.linux-amd64.tar.gz # 创建一个软链接或重命名方便使用 ln -s prometheus-2.51.2.linux-amd64 prometheus cd prometheus3.2 配置Prometheus抓取vLLM指标Prometheus的核心配置文件是prometheus.yml。我们需要编辑它告诉它要去哪里抓取数据。# 备份原始配置文件 cp prometheus.yml prometheus.yml.bak # 使用你喜欢的编辑器如vim或nano编辑配置文件 vim prometheus.yml找到scrape_configs:部分在下面添加一个新的抓取任务job。你的配置文件修改后应该类似这样# 这是prometheus.yml的局部展示需要修改的部分 scrape_configs: # 默认的抓取自身指标的job - job_name: prometheus static_configs: - targets: [localhost:9090] # 新增专门抓取vLLM服务的job - job_name: vllm-nanbeige # 抓取间隔每15秒抓取一次可以根据需要调整 scrape_interval: 15s static_configs: # 这里填写你的vLLM服务的实际地址和端口 - targets: [localhost:8000] labels: # 可以添加一些自定义标签方便在Grafana里筛选 service: nanbeige-3b instance: primary关键解释job_name: ‘vllm-nanbeige’给这个抓取任务起个名字。targets: [‘localhost:8000’]这是最重要的配置指向你的vLLM服务的/metrics端点地址。如果Prometheus和vLLM不在同一台机器需要将localhost替换为vLLM服务器的IP地址。scrape_interval: 15s决定了数据采集的频率15秒是一个比较常用的值。3.3 启动Prometheus服务配置好后我们就可以启动Prometheus了。# 在前台启动方便查看日志测试用 ./prometheus --config.fileprometheus.yml # 或者使用nohup在后台启动让服务持续运行 nohup ./prometheus --config.fileprometheus.yml prometheus.log 21 启动后Prometheus默认会在9090端口启动一个Web UI。打开浏览器访问http://你的服务器IP:9090。在Prometheus的Web UI中你可以进入Status - Targets页面查看vllm-nanbeige这个job的状态是否为UP。如果是说明数据抓取成功。进入Graph页面在表达式输入框里输入vllm并回车会自动提示出vLLM相关的所有指标如vllm:num_requests_total选择后点击Execute就能看到该指标的实时曲线图了。至此数据抓取和存储中心已经搭建完毕。4. 配置Grafana打造可视化监控仪表盘Prometheus存好了数据但它的原生图表比较简单。Grafana则是数据可视化的专家它能用各种漂亮的图表把枯燥的数据变成一目了然的仪表盘。4.1 安装并启动Grafana同样我们通过官方方式安装。# 添加Grafana的APT仓库适用于Ubuntu/Debian系统 sudo apt-get install -y software-properties-common sudo add-apt-repository “deb https://packages.grafana.com/oss/deb stable main” wget -q -O - https://packages.grafana.com/gpg.key | sudo apt-key add - sudo apt-get update sudo apt-get install grafana # 启动Grafana服务并设置开机自启 sudo systemctl daemon-reload sudo systemctl start grafana-server sudo systemctl enable grafana-server # 检查服务状态 sudo systemctl status grafana-server对于其他系统如CentOS请参考Grafana官方安装文档。安装完成后Grafana默认运行在3000端口。访问http://你的服务器IP:3000。首次登录的用户名和密码都是admin登录后会要求修改密码。4.2 添加Prometheus数据源进入Grafana后我们需要告诉它数据从哪里来。点击左侧导航栏的齿轮图标 (Configuration)-Data Sources。点击Add data source按钮。选择Prometheus。在配置页面中唯一必须填写的是URL。这里填写你的Prometheus服务的地址通常是http://localhost:9090如果Grafana和Prometheus在同一台机器。如果不在同一台则填写Prometheus服务器的实际IP和端口。点击下方的Save test按钮。如果显示 “Data source is working”恭喜数据源连接成功4.3 创建你的第一个监控仪表盘现在我们可以开始创建图表了。Grafana社区有大量现成的仪表盘模板但为了学习我们先从零开始创建一个核心指标面板。点击左侧田字格图标 (Dashboards)-New-New Dashboard。点击Add visualization。在查询编辑器Query editor顶部确保数据源选择为我们刚添加的Prometheus。让我们添加几个关键图表图表一请求吞吐量QPS指标Metric:rate(vllm:num_requests_total[1m])解释: 计算每秒处理的请求数。rate()函数用于计算时间序列在指定时间窗口这里是1分钟内的平均增长速率。设置: 在右侧面板设置中将图表的Title修改为 “请求速率 (QPS)”。图表二请求延迟分布指标Metric:vllm:request_latency_seconds_bucket解释: 这是一个直方图指标展示了不同延迟区间的请求数量。为了更直观我们通常使用histogram_quantile()函数来计算分位数如P50, P90, P99。添加多个查询:P50 (中位数延迟):histogram_quantile(0.5, rate(vllm:request_latency_seconds_bucket[5m]))P90 (90%的请求延迟低于此值):histogram_quantile(0.9, rate(vllm:request_latency_seconds_bucket[5m]))P99 (99%的请求延迟低于此值):histogram_quantile(0.99, rate(vllm:request_latency_seconds_bucket[5m]))设置: 将图表类型改为Time series标题设为 “请求延迟分位数”。图表三GPU内存使用率指标Metric:vllm:gpu_memory_usage_percent解释: 直接显示GPU内存的使用百分比。这对于判断模型是否适合当前GPU至关重要。设置: 可以设置为Gauge仪表盘类型更直观。标题设为 “GPU内存使用率”。图表四当前活跃请求数指标Metric:vllm:num_requests_running解释: 实时显示正在处理的请求数量是判断服务当前负载最直接的指标。设置: 设置为Stat类型标题设为 “活跃请求数”。创建完这几个图表后拖动它们进行排版一个基础的监控仪表盘就初具雏形了。记得点击右上角的Save按钮保存你的仪表盘。5. 核心监控指标解读与告警设置进阶有了仪表盘我们不仅能“看”还能在出现问题时“喊”。这就是告警Alerting的功能。5.1 关键指标深度解读了解每个指标的含义才能设置合理的告警阈值。指标名称类型含义健康范围参考vllm:num_requests_totalCounter请求总数只增不减-rate(vllm:num_requests_total[1m])派生指标平均每秒请求数 (QPS)取决于你的业务预期vllm:request_latency_secondsHistogram请求延迟分布P99 5-10秒视业务而定vllm:num_requests_runningGauge当前正在处理的请求数应小于vLLM的--max-num-seqs参数值vllm:gpu_memory_usage_percentGaugeGPU内存使用百分比持续 90% 可能需警惕vllm:num_pending_tokensGauge等待处理的Token总数突然飙升可能意味着请求堆积5.2 设置一个简单的告警规则我们以“GPU内存使用率过高”为例在Grafana中设置告警。在你刚才创建的仪表盘中点击GPU内存使用率图表的标题选择Edit。在编辑页面切换到Alert选项卡。点击Create alert rule from this panel。设置告警规则:Rule name:High GPU Memory UsageEvaluate every:1m(每1分钟检查一次)For:5m(持续5分钟满足条件才触发避免毛刺)设置条件Condition:在Query部分确保选中的是我们GPU内存的查询A。条件设置为WHEN last() OF A IS ABOVE 90(当最新值超过90%时)。配置通知:在Notifications部分你需要先配置一个通知渠道如邮件、Slack、钉钉等。在Contact points中设置。然后在这里选择你配置好的通知渠道。点击Save rule and exit。这样当GPU内存使用率连续5分钟超过90%时Grafana就会通过你设定的方式发出告警让你能及时介入处理比如检查是否有异常请求或考虑扩容。6. 总结走到这里你已经成功为你的Nanbeige4.1-3B vLLM服务搭建了一套从数据采集Prometheus到可视化与告警Grafana的完整监控体系。让我们回顾一下核心收获从“黑盒”到“白盒”你不再需要猜测服务的状态。通过Grafana仪表盘服务的吞吐量、延迟、资源利用率等核心指标一目了然。掌握了核心工具链你学会了Prometheus和Grafana这两个业界标准监控工具的基本部署和配置方法这项技能可以复用到任何其他服务的监控上。具备了预警能力通过设置告警规则你能够在潜在问题如资源耗尽、延迟飙升演变为故障之前收到通知变被动为主动。获得了性能优化依据监控数据是性能优化的黄金标准。你可以清晰地看到调整vLLM参数如--max-num-seqs,--gpu-memory-utilization后指标发生了哪些变化从而做出科学决策。下一步你可以尝试探索更多vLLM指标使用Prometheus的Graph页面或Grafana的查询浏览器输入vllm:查看所有可用指标将你认为重要的也加入仪表盘。完善告警体系为请求延迟P99、活跃请求数等关键指标设置告警。学习Grafana高级功能如变量Variables实现动态仪表盘或导入社区中更专业的vLLM/LLM监控仪表盘模板Dashboard ID可在Grafana官网社区查找。监控体系的建设是一个迭代的过程。开始时可以简单随着你对服务和业务的理解加深再不断丰富和完善它。现在享受你对服务了如指掌的掌控感吧获取更多AI镜像想探索更多AI镜像和应用场景访问 CSDN星图镜像广场提供丰富的预置镜像覆盖大模型推理、图像生成、视频生成、模型微调等多个领域支持一键部署。