指标标签与变量
通过 observability.metrics.labels 配置每个 Prometheus 指标族的完整标签列表,既可以添加可用变量,也可以删除默认标签。1.1.0 及更早版本的网关不支持此配置项。
配置标签
config.yaml
observability:
metrics:
labels:
aisix_request_ttft_seconds:
- env_id
- endpoint
- model
- provider
- status_class
- streaming
- provider_key_name
aisix_proxy_requests_total:
- endpoint
- status
aisix_requests_total: []
此示例为 TTFT 添加所选提供商凭据的名称。详细请求计数器仅保留入口和状态码。旧版请求计数器的全部业务标签被删除。
- 未配置的指标保留现有默认标签。
labels: {}保持所有指标的默认输出。 - 每个列表都会替换对应指标的默认列表。如果该指标没有必须保留的身份标签,空列表会删除全部业务标签。
- 使用指标族名称, 例如
aisix_request_ttft_seconds,不要添加_bucket、_sum或_count后缀。直方图的各个组成部分始终使用相同的标签;Prometheus 自动添加的le和摘要的quantile不受此配置影响。 - 指标名未知、变量不适用于该指标、变量重复或删除必要身份标签时,网关会报告配置错误并拒绝启动。
- 标签在启动时确定,修改后需要重启网关。Prometheus 已存储的序列按其保留策略继续存在;依赖已删除标签的查询和告警也需要相应调整。
通过环境变量配置时,用一个 JSON 对象设置整个映射:
export AISIX_OBSERVABILITY__METRICS__LABELS='{"aisix_request_ttft_seconds":["model","provider_key_name"]}'
在 AISIX Cloud 的数据平面安装卡片中展开指标标签,即可选择指标和标签。生成的 Docker、Compose、Helm 和 systemd 安装指令会包含此启动配置。请将配置应用到支持此功能的网关版本。