Text Generation Inference 文件
使用 Prometheus 和 Grafana 儀表板監控 TGI 伺服器
並獲得增強的文件體驗
開始使用
使用 Prometheus 和 Grafana 儀表板監控 TGI 伺服器
TGI 伺服器部署可以透過 Grafana 儀表板輕鬆進行監控,並使用 Prometheus 來進行資料收集。可檢查的指標範例包括 TGI 使用的有效批次大小統計、預填充 (prefill)/解碼 (decode) 延遲、產生的 token 數量等。
在本教學中,我們將介紹如何設定本地 Grafana 儀表板來監控 TGI 的使用情況。

在伺服器機器上進行設定
首先,在您的伺服器機器上,需要像平常一樣啟動 TGI。TGI 公開了多項可由 Prometheus 監控伺服器收集的指標。
在本教學的其餘部分,我們假設 TGI 是透過 Docker 並使用 --network host 參數啟動的。
在託管 TGI 的伺服器上,需要安裝並啟動 Prometheus 伺服器。為此,請遵循 Prometheus 安裝說明。例如,在撰寫本文時的 Linux 機器上:
wget https://github.com/prometheus/prometheus/releases/download/v2.52.0/prometheus-2.52.0.linux-amd64.tar.gz
tar -xvzf prometheus-2.52.0.linux-amd64.tar.gz
cd prometheus需要設定 Prometheus 以監聽 TGI 的連接埠。為此,在 Prometheus 設定檔 prometheus.yml 中,需要編輯以下幾行:
static_configs:
- targets: ["0.0.0.0:80"]以使用正確的 IP 位址和連接埠。
我們建議在伺服器端嘗試執行 curl 0.0.0.0:80/generate -X POST -d '{"inputs":"hey chatbot, how are","parameters":{"max_new_tokens":15}}' -H 'Content-Type: application/json',以確保設定了正確的 IP 和連接埠。
一旦配置好 Prometheus,就可以在啟動 TGI 的同一台機器上啟動 Prometheus 伺服器。
./prometheus --config.file="prometheus.yml"在本指南中,Prometheus 監控資料將在本地電腦上進行存取。因此,我們需要將 Prometheus 的連接埠(預設為 9090)轉發到本地電腦。例如,我們可以:
- 使用 ssh 本地連接埠轉發 (local port forwarding)
- 使用 ngrok 連接埠隧道
為簡單起見,本指南將使用 Ngrok 來將 Prometheus 連接埠從 TGI 伺服器隧道傳輸到外部。
為此,您應該依照 https://dashboard.ngrok.com/get-started/setup/linux 上的步驟操作。安裝 Ngrok 後,請使用:
ngrok http http://0.0.0.0:9090
作為健全性檢查,您可以確保從本地機器可以透過 Ngrok 提供的 URL(格式類似於 https://d661-4-223-164-145.ngrok-free.app)存取 Prometheus 伺服器。
在監控機器上進行設定
監控通常是在與伺服器不同的機器上進行的。我們使用 Grafana 儀表板來監控 TGI 伺服器的使用情況。
有兩種選擇:
- 使用 Grafana Cloud 進行託管儀表板解決方案 (https://grafana.com/products/cloud/)。
- 自架 Grafana 儀表板。
在本教學中,為簡單起見,我們將自架儀表板。我們建議依照官方安裝說明,使用 Linux 二進位檔案來安裝 Grafana 開源版本。例如:
wget https://dl.grafana.com/oss/release/grafana-11.0.0.linux-amd64.tar.gz
tar -zxvf grafana-11.0.0.linux-amd64.tar.gz
cd grafana-11.0.0
./bin/grafana-server一旦啟動 Grafana 伺服器,Grafana 介面即可透過 https://:3000 存取。您需要使用 admin 使用者名稱和 admin 密碼登入。
登入後,需要在 Add your first data source 選項中設定 Grafana 的 Prometheus 資料來源。在那裡,您需要使用我們稍早取得的 Ngrok 位址(它公開了 Prometheus 的連接埠,例如:https://d661-4-223-164-145.ngrok-free.app)來加入 Prometheus 資料來源。
設定好 Prometheus 資料來源後,我們終於可以建立我們的儀表板了!從首頁進入 Create your first dashboard,然後選擇 Import dashboard。在那裡,我們將使用建議的儀表板範本 tgi_grafana.json,這是一個可直接使用的儀表板,但您也可以隨意配置自己的儀表板。
載入您的儀表板配置,您的 TGI 儀表板應該就準備就緒了!
在 GitHub 上更新