轻量级 FastAPI 服务,采集 GPU、系统和 LLM 推理指标,通过 Server-Sent Events (SSE) 实时推送到监控面板。
- GPU 监控:利用率、显存、温度、功耗、风扇、频率 (nvidia-smi)
- 系统监控:CPU、内存、磁盘 I/O、网络吞吐 (psutil)
- LLM 指标:实时 TPS、TTFT、TPOT、KV Cache、投机解码统计
- 服务状态:推理服务、Docker、SSH 健康检查
- 日志解析:结构化解析 llama-server 日志
- SSE 推送:实时推送到连接的仪表盘
- 数据脱敏:PID、文件路径、IP 可自动替换
- 全环境变量配置:源码零硬编码
pip install fastapi uvicorn psutil aiohttp# 默认配置(连接 localhost:8080 的推理服务)
python app.py
# 自定义配置:
INFERENCE_HOST=192.168.1.100 INFERENCE_PORT=8080 SSE_PROXY_PORT=9093 python app.py打开 http://localhost:9093 验证服务运行正常。
| 变量 | 默认值 | 说明 |
|---|---|---|
INFERENCE_HOST |
127.0.0.1 |
推理服务地址 |
INFERENCE_PORT |
8080 |
推理服务端口 |
INFERENCE_KEY |
`` | 推理服务管理密钥 |
SSE_PROXY_HOST |
0.0.0.0 |
绑定地址 |
SSE_PROXY_PORT |
9093 |
本服务端口 |
INTERVAL_GPU |
2.0 |
GPU 采集间隔(秒) |
REDACT_PIDS |
true |
自动归零进程 PID |
REDACT_PATHS |
true |
自动截断文件路径 |
| 方法 | 路径 | 说明 |
|---|---|---|
| GET | / |
服务信息 |
| GET | /api/sse |
SSE 实时数据流 |
| GET | /api/status |
全量状态快照 |
| GET | /api/metrics |
实时推理指标 |
| GET | /api/gpu |
GPU 数据 |
| GET | /api/system |
系统数据 |
| GET | /api/logs |
最近日志 |
- LLM Inference Monitor — 对接本 SSE Proxy 的全功能监控面板