應用監控的Python探針新增了vLLM/SGLang外掛程式,支援對vLLM/SGLang推理引擎進行可觀測。
ARMS目前僅支援對 vLLM/SGLang 架構進行可觀測。
接入流程
步驟一:準備環境變數
export ARMS_APP_NAME=xxx # EAS應用程式名稱。
export ARMS_REGION_ID=xxx # 對應的阿里雲帳號的RegionID。
export ARMS_LICENSE_KEY=xxx # 阿里雲 LicenseKey。
export APSARA_APM_MODEL_SERVICE_FRAMEWORK=xxx #模型服務架構的類型,1. vLLM-v0 2. vLLM-v1 3. SGLang步驟二:修改推理引擎運行命令
修改推理引擎的運行命令。
以接入DeepSeek-R1-Distill-Qwen-7B模型為例。
vLLM原始指令:
gpu_count=$(nvidia-smi --query-gpu=count --format=csv,noheader | wc -l);vllm serve /model_dir --host 0.0.0.0 --port 8000 --root-path '/' --trust-remote-code --gpu-memory-utilization 0.95 --max-model-len 32768 --tensor-parallel-size $gpu_count --served-model-name DeepSeek-R1-Distill-Qwen-7B接入應用監控對應的vLLM指令:
gpu_count=$(nvidia-smi --query-gpu=count --format=csv,noheader | wc -l);export PIP_INDEX_URL=http://mirrors.cloud.aliyuncs.com/pypi/simple;export PIP_TRUSTED_HOST=mirrors.cloud.aliyuncs.com;export APSARA_APM_MODEL_SERVICE_FRAMEWORK=vLLM-v1;pip3 install aliyun-bootstrap;ARMS_REGION_ID=cn-hangzhou aliyun-bootstrap -a install;ARMS_APP_NAME=qwq32 ARMS_LICENSE_KEY=it0kjz0oxz@3115ad****** ARMS_REGION_ID=cn-hangzhou aliyun-instrument vllm serve /model_dir --host 0.0.0.0 --port 8000 --root-path '/' --trust-remote-code --gpu-memory-utilization 0.95 --max-model-len 32768 --tensor-parallel-size $gpu_count --served-model-name DeepSeek-R1-Distill-Qwen-7B新增部分說明:
配置 pypi 倉庫,可以根據實際情況調整。
export PIP_INDEX_URL=http://mirrors.cloud.aliyuncs.com/pypi/simple;export PIP_TRUSTED_HOST=mirrors.cloud.aliyuncs.com;配置推理引擎類型。
export APSARA_APM_MODEL_SERVICE_FRAMEWORK=vLLM-v1;下載探針安裝器。
pip3 install aliyun-bootstrap;使用安裝器安裝探針。
請根據實際地區替換
cn-hangzhou。ARMS_REGION_ID=cn-hangzhou aliyun-bootstrap -a install;
SGLang原始命令:
python -m sglang.launch_server --model-path /model_dir接入應用監控對應的SGLang指令:
export PIP_INDEX_URL=http://mirrors.cloud.aliyuncs.com/pypi/simple;export PIP_TRUSTED_HOST=mirrors.cloud.aliyuncs.com;export APSARA_APM_MODEL_SERVICE_FRAMEWORK=SGLang;pip3 install aliyun-bootstrap;ARMS_REGION_ID=cn-hangzhou aliyun-bootstrap -a install;ARMS_APP_NAME=qwq32 ARMS_LICENSE_KEY=it0kjz0oxz@3115ad****** ARMS_REGION_ID=cn-hangzhou aliyun-instrument python -m sglang.launch_server --model-path /model_dir新增部分說明:
配置 pipy 倉庫,可以根據實際情況調整。
export PIP_INDEX_URL=http://mirrors.cloud.aliyuncs.com/pypi/simple; export PIP_TRUSTED_HOST=mirrors.cloud.aliyuncs.com;配置推理引擎類型
export APSARA_APM_MODEL_SERVICE_FRAMEWORK=SGLang;下載探針安裝器。
pip3 install aliyun-bootstrap;使用安裝器安裝探針。
請根據實際地區替換
cn-hangzhou。ARMS_REGION_ID=cn-hangzhou aliyun-bootstrap -a install;
單擊更新。
支援情境
ARMS 目前只支援官方提供的 vLLM 版本和 SGLang 版本,具體支援的版本範圍請參考LLM(大語言模型)服務,使用者修改過的版本不支援接入。
情境 | vLLM V0 | vLLM V1 | SGLang |
Chat對話/Completion補全調用 | 支援 | 支援 | 支援 |
Embedding調用 | 支援 | 支援 | 不支援 |
Rerank調用 | 不支援 | 支援 | 不支援 |
KV Cache傳輸耗時 | 不支援 | 支援 | 支援 |
Tokenizer/DeTokenizer執行耗時 | 不支援 | 支援 | 支援 |
常見問題
vLLM架構如何在日誌中輸出TraceID?
建議添加如下環境變數,讓vLLM架構在列印日誌時輸出TraceID:
export OTEL_PYTHON_LOG_CORRELATION=true
export OTEL_PYTHON_LOG_LEVEL=info
export OTEL_PYTHON_LOG_FORMAT="%(asctime)s %(levelname)s [%(name)s] [%(filename)s:%(lineno)d] [trace_id=%(otelTraceID)s span_id=%(otelSpanID)s resource.service.name=%(otelServiceName)s trace_sampled=%(otelTraceSampled)s] - %(message)s"
export VLLM_LOGGING_PREFIX="[%(filename)s:%(lineno)d] [trace_id=%(otelTraceID)s span_id=%(otelSpanID)s resource.service.name=%(otelServiceName)s trace_sampled=%(otelTraceSampled)s]"之後在vLLM架構的啟動命令中,添加--enable-log-requests啟動參數,以允許vLLM架構列印請求層級的日誌。
相關文檔
vLLM/SGLang 採集的 Span 與指標列表:完整的採集資料清單。
vLLM/SGLang 採集配置說明:採集開關、鏈路採集精度、輸入輸出內容採集、指標採集以及引擎排障相關的配置項。
使用引擎並發分析診斷 vLLM/SGLang 應用:引擎並發分析功能的相關介紹。