可观测性#

NIM 提供 Prometheus 指标,指示请求统计信息。这些指标可用于使用 Grafana 仪表板创建仪表板。默认情况下,这些指标在 http://127.0.0.1:8000/v1/metrics 上可用。

下表描述了可用的指标。

类别

指标

指标名称

描述

粒度

频率

KV 缓存

GPU 缓存使用率

gpu_cache_usage_perc

GPU KV 缓存使用率。1 表示 100% 使用率

每个模型

每次迭代

计数

运行计数

num_requests_running

当前在 GPU 上运行的请求数

每个模型

每次迭代

等待计数

num_requests_waiting

等待处理的请求数

每个模型

每次迭代

最大请求计数

num_request_max

并发运行请求的最大数量

每个模型

每次迭代

总 Prompt Token 计数

prompt_tokens_total

已处理的预填充 token 数量

每个模型

每次迭代

总生成 Token 计数

generation_tokens_total

已处理的生成 token 数量

每个模型

每次迭代

延迟

首个 Token 的时间

time_to_first_token_seconds

首个 token 时间的直方图 (秒)

每个模型

每个请求

每个输出 Token 的时间

time_per_output_token_seconds

每个输出 token 时间的直方图 (秒)

每个模型

每个请求

端到端

e2e_request_latency_seconds

端到端请求延迟的直方图 (秒)

每个模型

每个请求

计数

Prompt Token 计数

request_prompt_tokens

已处理的预填充 token 数量的直方图

每个模型

每个请求

生成 Token 计数

request_generation_tokens

已处理的生成 token 数量的直方图

每个模型

每个请求

已完成请求计数

request_finish_total

已完成请求的数量,带有指示完成原因的标签

每个模型

每个请求

成功请求计数

request_success_total

成功请求的数量,完成原因为 “stop” 或 “length” 的请求被计数

每个模型

每个请求

失败请求计数

request_failure_total

失败请求的数量,完成原因为其他原因的请求被计数

每个模型

每个请求

Prometheus#

要安装 Prometheus 以从 NIM 抓取指标,请下载适合您系统的最新 Prometheus 版本

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-2.52.0.linux-amd64/

编辑 Prometheus 配置文件以从 NIM 端点抓取数据。确保 targets 字段指向 localhost:8000

vi prometheus.yml

# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:
  # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
  - job_name: "prometheus"

    # metrics_path defaults to '/metrics'
	# Previous versions use '/v1/metrics'.
    # scheme defaults to 'http'.

    static_configs:
      - targets: ["localhost:8000"]

接下来运行 Prometheus 服务器 ./prometheus --config.file=./prometheus.yml

使用浏览器检查 Prometheus 服务器是否检测到 NIM 目标 http://127.0.0.1:9090/targets?search=。您还可以单击 NIM 目标 URL 链接以浏览生成的指标。

Grafana#

我们可以使用 Grafana 为 NIM 指标创建仪表板。安装适合您系统的最新 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

运行 Grafana 服务器

cd grafana-v11.0.0/
./bin/grafana-server

要访问 Grafana 仪表板,请将浏览器指向 http://127.0.0.1:3000。您需要使用默认值登录

username: admin 
password: admin

第一步是配置 Grafana 的数据源以从中抓取指标。单击 “Data Source” 按钮,选择 Prometheus 并指定 Prometheus URL localhost:9090。保存配置后,您应该会看到成功消息,现在您可以创建包含 NIM 指标的仪表板,或者您可以尝试这个示例仪表板

NIM Dashboard Example