文本生成推理文档

使用 Prometheus 和 Grafana 仪表盘监控 TGI 服务器

Hugging Face's logo
加入 Hugging Face 社区

并获得增强型文档体验

开始使用

使用 Prometheus 和 Grafana 仪表盘监控 TGI 服务器

TGI 服务器部署可以通过 Grafana 仪表盘轻松监控,它使用 Prometheus 数据收集。可检查的指标示例包括 TGI 使用的有效批次大小的统计信息、预填充/解码延迟、生成的标记数量等。

在本教程中,我们将了解如何设置本地 Grafana 仪表盘以监控 TGI 使用情况。

Grafana dashboard for 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)转发到本地计算机。为此,我们可以例如

为简单起见,在本指南中,我们将使用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 开源版,使用可用的 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 上更新