在LLM服务中,准确监控和统计模型资源使用情况对于优化性能、控制成本至关重要。本文将介绍如何通过Prometheus + Grafana搭建监控体系,并提供具体的指标收集脚本。
核心指标收集
首先需要收集以下关键指标:
- GPU内存使用率(memory_utilization)
- CPU利用率(cpu_utilization)
- 请求延迟(latency)
- 并发请求数(concurrent_requests)
实施步骤
- 安装Prometheus和Grafana
# 使用Docker快速部署
sudo docker run -d --name prometheus -p 9090:9090 prom/prometheus
sudo docker run -d --name grafana -p 3000:3000 grafana/grafana
- 配置Prometheus抓取目标 在
prometheus.yml中添加:
scrape_configs:
- job_name: 'model_server'
static_configs:
- targets: ['localhost:8000']
- 创建监控脚本(Python)
import psutil
import time
from prometheus_client import Gauge, start_http_server
gpu_memory = Gauge('gpu_memory_usage', 'GPU memory usage percentage')
def collect_metrics():
# 获取GPU内存使用率
# 注意:实际部署中需要根据具体框架调整实现方式
gpu_mem = get_gpu_memory() # 自定义函数
gpu_memory.set(gpu_mem)
if __name__ == '__main__':
start_http_server(8000)
while True:
collect_metrics()
time.sleep(60)
数据可视化
通过Grafana创建仪表板,实时监控资源使用情况,设置告警阈值,实现自动化运维。

讨论