监控 API 指标
API7 网关支持以最小的延迟向监控系统暴露一套全面的指标,从而促进持续的监控和诊断。
API7 网关的监控和告警框架建立在 Prometheus 之上,Prometheus 是一个广泛使用的系统监控和告警工具包。Prometheus 收集并存储多维时间序列数据,包括带有键值标签注释的指标。
本指南解释了如何启用 Prometheus 插件以与监控系统集成,从而允许你收集和可视化 HTTP 指标。
前置条件
监控所有服务
建议将 prometheus 插件启用为全局规则。这可确保所有服务和路由都能被持续一致地监控和追踪。
- Dashboard
- ADC
- Ingress Controller
- 从侧边导航栏中选择网关组的 Plugin Settings(插件设置)。
- 选择 Plugin Global Rules(插件全局规则)选项卡,然后点击 Add Plugin(添加插件)。
- 搜索
prometheus插件,然后点击 Add(添加)。 - 在出现的对话框中,点击 Add(添加),无需额外配置。
- 进行一些 API 调用以测试监控。
- 从侧边导航栏中选择 Monitoring(监控)以查看指标。
要使用 ADC 启用监控,请创建以下配置:
adc.yaml
global_rules:
prometheus:
_meta:
disable: false
将配置同步到 API7 网关:
adc sync -f adc.yaml
备注
ADC 将配置文件用作单一事实来源。请确保使用 -f 标志将所有配置文件传递给 adc sync 命令。
在 API7 企业版控制台中,从侧边导航栏选择 Monitoring(监控)以查看指标。
- Gateway API
- APISIX CRD
更新你的 GatewayProxy 清单,以将 prometheus 启用为全局插件:
gateway-proxy.yaml
apiVersion: apisix.apache.org/v1alpha1
kind: GatewayProxy
metadata:
namespace: api7
name: apisix
spec:
provider:
type: ControlPlane
controlPlane:
endpoints:
- https://xxx.xxx.xxx.xxx:7443 # 更新为你的 CP 端点
auth:
type: AdminKey
adminKey:
value: xxxxxxxxxxx # 更新为你的 Admin Key
plugins:
- name: prometheus
enabled: true
将配置应用到你的集群:
kubectl apply -f gateway-proxy.yaml
创建一个用于全局 prometheus 插件的 Kubernetes 清单文件:
global-prometheus.yaml
apiVersion: apisix.apache.org/v2
kind: ApisixGlobalRule
metadata:
namespace: api7
name: global-prometheus
spec:
ingressClassName: apisix
plugins:
- name: prometheus
enable: true
将配置应用到你的集群:
kubectl apply -f global-prometheus.yaml
在 API7 企业版控制台中,从侧边导航栏选择 Monitoring(监控)以查看指标。