text-generation-inference 文档

使用 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 服务器的使用情况。

有两种选择

在本教程中,为简单起见,我们将自托管仪表板。我们建议按照 官方安装说明,使用可用的 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 上更新