使用 Prometheus 和 Grafana 仪表盘监控 TGI 服务器
TGI 服务器部署可以通过 Grafana 仪表盘轻松监控,它使用 Prometheus 数据收集。可检查的指标示例包括 TGI 使用的有效批次大小的统计信息、预填充/解码延迟、生成的标记数量等。
在本教程中,我们将了解如何设置本地 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 本地端口转发
- 使用 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.org.cn/products/cloud/)。
- 自托管 Grafana 仪表盘。
在本教程中,为简单起见,我们将自托管仪表盘。我们建议按照 官方安装说明安装 Grafana 开源版,使用可用的 Linux 二进制文件。例如
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 界面可在 http://localhost:3000 访问。需要使用 admin
用户名和 admin
密码登录。
登录后,需要在“添加您的第一个数据源”选项中配置 Grafana 的 Prometheus 数据源。在那里,需要添加一个 Prometheus 数据源,并使用我们之前获得的 Ngrok 地址,该地址公开了 Prometheus 端口(例如:https://d661-4-223-164-145.ngrok-free.app)。
配置 Prometheus 数据源后,我们终于可以创建我们的仪表盘了!从主页进入“创建您的第一个仪表盘”,然后“导入仪表盘”。在那里,我们将使用推荐的仪表盘模板 tgi_grafana.json,这是一个随时可用的仪表盘,但您可以根据需要配置自己的仪表盘。
加载您的仪表盘配置,您的 TGI 仪表盘应该就可以使用了!
< > 在 GitHub 上更新