text-generation-inference 文档
使用 Prometheus 和 Grafana 仪表板监控 TGI 服务器
并获得增强的文档体验
开始使用
使用 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 仪表板。
在本教程中,为简单起见,我们将自托管仪表板。我们建议按照 官方安装说明,使用可用的 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 服务器后,可以通过 https://127.0.0.1:3000 访问 Grafana 界面。需要使用 admin
用户名和 admin
密码登录。
登录后,需要在 Add your first data source
选项中配置 Grafana 的 Prometheus 数据源。在此处,需要添加 Prometheus 数据源,其中包含我们之前获得的 Ngrok 地址,该地址公开 Prometheus 端口(示例:https://d661-4-223-164-145.ngrok-free.app)。
配置 Prometheus 数据源后,我们终于可以创建仪表板了!从主页,转到 Create your first dashboard
,然后转到 Import dashboard
。在那里,我们将使用推荐的仪表板模板 tgi_grafana.json 以获得可直接使用的仪表板,但您可以根据自己的喜好配置自己的仪表板。
加载仪表板配置后,您的 TGI 仪表板应该就可以使用了!
< > 在 GitHub 上更新