跳到主要内容
版本:3.10.x

监控指标

API7 网关提供两种流量监控方式:

  • 控制台内置的监控页面,无需额外基础设施即可快速查看状态。
  • 数据面的 Prometheus 抓取端点,适用于长期存储、自定义查询,以及与 Grafana 或 Prometheus 兼容的告警系统集成。

前置条件

方法一:使用内置监控页面

控制台的监控部分显示最重要的实时指标:

指标说明
QPS每秒查询数,表示当前负载。
延迟请求处理时间,包括平均值、p90 和 p99。
错误率返回 4xx 或 5xx 状态码的请求占比。
吞吐量入站和出站数据量。

登录控制台,然后进入监控页面即可查看。

方法二:使用 Prometheus 抓取端点

如需进行深度历史监控或创建自定义控制台,请将 prometheus 插件启用为全局规则。之后,数据面会在 http://<data-plane>:9091/apisix/prometheus/metrics 暴露指标,供 Prometheus 兼容的抓取器使用。

步骤一:全局启用 Prometheus 插件

curl -k "https://localhost:7443/apisix/admin/global_rules/prometheus?gateway_group_id={gateway_group_id}" -X PUT \
-H "X-API-KEY: ${API_KEY}" \
-H "Content-Type: application/json" \
-d '{
"plugins": {
"prometheus": {}
}
}'

步骤二:验证端点

先通过任意路由发送请求以生成指标,然后抓取数据面的 Prometheus 端点:

curl http://127.0.0.1:9091/apisix/prometheus/metrics

输出应包含网关生成的 counter、gauge 和 histogram 格式指标。9091 是数据面的指标监听端口;如果数据面运行在 Docker 中,请先使用 -p 9091:9091 将端口发布到宿主机。

步骤三:配置 Prometheus 抓取

将数据面添加到 Prometheus 的 scrape_configs

prometheus.yml
scrape_configs:
- job_name: api7-gateway
metrics_path: /apisix/prometheus/metrics
static_configs:
- targets:
- 127.0.0.1:9091

关键指标

创建控制台或告警时,重点关注 prometheus 插件生成的指标:

  • apisix_http_status:按状态码统计响应数,标签为 code
  • apisix_http_latency:请求延迟直方图,标签 type 区分 requestupstreamapisix
  • apisix_bandwidth:发送和接收字节数,标签为 type
  • apisix_nginx_http_current_connections:活动连接数,标签为 state

完整的指标名称、标签基数和调优选项请参阅 prometheus

其他资源