Prometheus
prometheus 插件提供了将 APISIX 与 Prometheus 集成的能力。
启用插件后,APISIX 将开始收集相关指标,例如 API 请求和延迟,并以基于文本的展示格式将它们导出到 Prometheus。然后,你可以在 Prometheus 中创建监控规则和告警,以监控 API 网关和 API 的健康状况。
指标
Prometheus 中有不同类型的指标。要了解它们的区别,请参阅 指标类型。
默认情况下,prometheus 插件会导出以下指标。有关示例,请参阅 获取 APISIX 指标。请注意,如果没有数据,某些指标(如 apisix_batch_process_entries)可能不会立即显示。
| 名称 | 类型 | 描述 |
|---|---|---|
| apisix_bandwidth | counter | 流经 APISIX 的总流量(以字节为单位)。 |
| apisix_etcd_modify_indexes | gauge | APISIX 键对 etcd 的更改次数。 |
| apisix_batch_process_entries | gauge | 批量发送数据时批次中的剩余条目数,例如使用 http logger 和其他日志插件时。 |
| apisix_etcd_reachable | gauge | APISIX 是否可以连接到 etcd。值 1 表示可达,0 表示不可达。 |
| apisix_http_status | counter | 上游服务返回的 HTTP 状态码。 |
| apisix_http_requests_total | gauge | 来自客户端的 HTTP 请求数。 |
| apisix_nginx_http_current_connections | gauge | 当前与客户端的连接数。 |
| apisix_nginx_metric_errors_total | counter | nginx-lua-prometheus 错误总数。 |
| apisix_http_latency | histogram | HTTP 请求延迟(以毫秒为单位)。 |
| apisix_node_info | gauge | 有关 APISIX 节点的信息,例如主机名和 APISIX 版本。 |
| apisix_shared_dict_capacity_bytes | gauge | NGINX 共享字典 的总容量。 |
| apisix_shared_dict_free_space_bytes | gauge | NGINX 共享字典 中的剩余空间。 |
| apisix_upstream_status | gauge | 上游节点的健康检查状态,如果在上游配置了健康检查则可用。值 1 表示健康,0 表示不健康。 |
| apisix_stream_connection_total | counter | 每个流路由处理的连接总数。 |
| apisix_llm_prompt_tokens | counter | 仅在企业版(自 3.9.7 版本起)可用。提示词 Token 的数量。仅对 AI 请求类型导出。 |
| apisix_llm_completion_tokens | counter | 仅在企业版(自 3.9.7 版本起)可用。补全 Token 的数量。仅对 AI 请求类型导出。 |
| apisix_llm_latency | histogram | 仅在企业版(自 3.9.7 版本起)可用。LLM 请求延迟,单位为毫秒。自 API7 企业版 3.9.14 起,type 标签使用 total 表示完整响应延迟,使用 ttft 表示流式请求的首 Token 时间。仅对 AI 请求类型导出。 |
| apisix_llm_active_connections | gauge | 仅在企业版(自 3.9.7 版本起)可用。与 LLM 服务的活动连接数。仅对 AI 请求类型导出。 |
| apisix_llm_prompt_tokens_dist | histogram | 仅在企业版(自 3.9.14 版本起)可用。单 个请求的提示词 Token 数量分布。仅对 AI 请求类型导出。 |
| apisix_llm_completion_tokens_dist | histogram | 仅在企业版(自 3.9.14 版本起)可用。单个请求的补全 Token 数量分布。仅对 AI 请求类型导出。 |
备注
仅当请求由 AI 插件(例如 AI Proxy)处理时,才会导出 LLM 指标(apisix_llm_prompt_tokens、apisix_llm_completion_tokens、apisix_llm_latency、apisix_llm_prompt_tokens_dist 和 apisix_llm_completion_tokens_dist)。未启用 AI 插件的路由不会生成这些指标。apisix_llm_active_connections 由 AI 插件直接管理,也仅存在于启用了 AI 的路由中。
要减少 LLM 指标中的高基数标签,请使用插件元数据中的 disabled_labels,有选择地禁用 consumer 或 node 等标签。