跳到主要内容

指标与日志

AISIX AI 网关会公开聚合指标、逐请求日志、响应头和可导出的用量事件。这些信号共同反映服务健康状况,并将调用方可见的响应关联到产生该响应的模型、路由和策略结果。

选择遥测来源

请先选择与运维问题匹配的来源;需要深入调查问题时,再按请求、模型或服务提供方关联各类信号。

运维问题首选来源提供的信息
各网关实例的流量是否健康?Prometheus 指标请求速率、延迟分布、Token 和成本计数、策略结果、路由健康、缓存行为和导出器投递健康。
单个请求发生了什么?访问日志状态、延迟、模型、服务提供方、请求 ID 和可用时的路由结果等结构化字段。
调用应用可以观察到什么?响应头受支持路由上的请求关联、缓存结果、重试时机和选中目标提示。
请求记录可存储到哪里进行分析或核算?用量事件通过可观测性导出器投递的逐请求结果和消耗记录。

抓取 Prometheus 指标

Prometheus 指标是观察流量趋势、延迟、Token 计数、成本计数、限流结果、缓存行为和导出器投递健康状态的最佳起点。

AISIX 默认通过专用指标监听器在 /metrics 提供 Prometheus 指标。你可以通过启动期可观测性设置修改路径或禁用该端点。

该端点设计上不做认证。请保持专用指标监听器私有。

在启动配置中配置 Prometheus 暴露:

config.yaml
observability:
metrics:
prometheus:
enabled: true
path: "/metrics"

在自托管和托管部署中,专用监听器默认绑定到 0.0.0.0:9090。如果 Prometheus 应从其它接口或端口抓取指标,请设置不同的监听地址。

抓取默认自托管指标端点:

curl -sS "http://127.0.0.1:9090/metrics"
产生流量后才会出现流量指标

AISIX 会在每次抓取时发布配置状态。其他指标族会在首次观测时注册,因此流量指标可能不会在启动后立即出现。请先发送一次模型请求,再检查 aisix_requests_totalaisix_tokens_consumed_total 等序列。

AISIX 使用 aisix_ 前缀输出原生指标名称。使用直方图序列计算跨网关实例的延迟百分位数,并使用请求计数器分析成功率和路由情况。精确指标名称、标签范围和 PromQL 示例请参见指标参考

收集访问日志

访问日志描述单个代理请求。AISIX 会通过进程 logger 将其写入标准错误流,因此它们会出现在运行时收集的容器或进程日志中。

在启动配置中配置进程日志:

config.yaml
observability:
log_level: "info"
access_log: true

进程环境可以通过 RUST_LOG 环境变量覆盖已配置的日志级别。

代理请求完成时会输出访问日志条目。当相关值可用时,条目会包含 method、path、status、latency、provider、model、API Key ID、request ID、Token 计数和路由结果等字段。

当前版本中 access_log 字段为保留字段。代理处理器仍会输出结构化访问日志,但没有单独的访问日志格式或 sink 设置。当日志需要离开网关主机时,请使用运行时日志流水线收集标准错误流。

将响应与遥测关联

响应头提供调用方可见的关联和路由提示。在受支持路径上,它们可以标识请求、缓存结果、重试时机或选中的目标。

使用请求 ID 和其它受支持的响应头,将调用方可见的响应关联到访问日志或导出的记录。每条代理路由适用的响应头范围请参见响应头与错误码

导出用量事件

用量事件是在受支持代理路径完成请求后输出的逐请求记录。当网关能观测到相关值时,它们会包含请求结果、消耗详情、调用方请求的模型别名,以及处理该次尝试的解析模型。

用量事件通过 sink 消费,而不是从本地端点读取。配置可观测性导出器,将它们发送到 OTLP/HTTP、对象存储、阿里云 SLS 或 Datadog。

下一步

配置可观测性导出器,把用量事件发送到外部收集器、日志目标、对象存储或数据仓库工作流。构建 Prometheus 控制面板或告警时,请使用指标参考