配置遥测数据传输
数据面(DP)定期向控制面(CP)上报运行指标,以支持集中监控、告警和控制台图表。遥测数据采用 prometheus 格式,包括 API 流量、请求延迟、HTTP 状态码、带宽和连接数。
默认情况下,数据面每 15 秒上报一次遥测数据,并启用 Gzip 压缩。此配置由控制面管理,控制面会将其发送给所有已连接的网关组。
配置遥测
在控制台的配置中设置遥测参数。控制台将参数存入控制面数据库,并通过配置下发给已连接的数据面。
如果通过 Helm 部署,请在 api7/api7ee3 发布版本的配置值文件中,将参数放在 dashboard_configuration 下:
dashboard_configuration:
telemetry:
enable: true
interval: 15
max_metrics_size: 33554432
metrics_batch_size: 4194304
compression_level: -1
以上参数的含义如下:
enable:是否定期向控制面上传指标。interval:两次上传尝试之间的最短间隔,单位为秒。max_metrics_size:未压缩指标累计到此阈值后,不再生成新的批次;剩余指标会被截断。默认值为 32 MB。metrics_batch_size:每次上传请求的未压缩数据目标大小。指标行不会被拆开,因此实际批次可能略大于此值。该值不能超过max_metrics_size;默认值为 4 MB。compression_level:Gzip 压缩级别,取值范围为-1到9;默认值-1使用压缩库的默认级别。
如果通过 Docker Compose 或软件包部署,请将同一 telemetry 配置块放在控制台配置文件的顶层:
telemetry:
enable: true
interval: 15
max_metrics_size: 33554432
metrics_batch_size: 4194304
compression_level: -1
应用控制面配置变更后,重启或滚动更新控制台。控制台会更新已存储的遥测设置;如果已存储的值发生变化,还会提高所有网关组的配置版本,使已连接的数据面通过正常的配置同步收到新设置。数据面无需单独重启。
应在每个控制台副本上设置相同的遥测参数。若某个副本启动时使用不同的值,它可能覆盖数据库中存储的全局配置。
不要只在已连接网关的本地 config.yaml 中配置 api7ee.telemetry。控制面下发的配置优先于该本地配置块,下一次配置更新可能覆盖本地值。
选择压缩级别
Gzip 压缩可以降低遥测传输的网络开销。压缩级别决定 CPU 使用量与数据大小之间的取舍:
| 级别 | 说明 | 特点 |
|---|---|---|
| -1 | 压缩库默认值 | 通常为 6 级,兼顾两者 |
| 0 | 不压缩 | 压缩所需 CPU 最少,传输数据最大 |
| 1 | 最快压缩 | 压缩 CPU 使用量较低,压缩率较低 |
| 6 | 均衡压缩 | 压缩 CPU 使用量和数据大小适中 |
| 9 | 最大压缩 | 压缩工作量最高,通常数据最小 |
大多数部署可保留默认级别 -1。只有在使用具有代表性的配置和流量测 量网关 CPU 使用量及压缩后数据大小后,才选择其他级别;结果取决于所收集指标的数量和内容。
停止上传遥测数据
如需停止所有已连接数据面向控制面传输遥测数据,请在控制面配置中将 enable 设为 false:
dashboard_configuration:
telemetry:
enable: false
对于基于配置文件的部署,请改为在控制台配置文件的顶层设置:
telemetry:
enable: false
应用变更并重启或滚动更新控制台。确认已连接的网关组收到新的配置版本,且控制台中不再出现新的流量指标。停止上传不会关闭网关配置同步或网关健康状态上报,也不会影响单独启用的 Prometheus 端点。外部监控系统只有在该端点及其监听器或 Service 暴露已配置且可访问时,才能继续抓取网关指标。
停止上传遥测数据会明显影响运维:
| 影响 | 详情 |
|---|---|
| 控制台分析 | 流量、延迟、状态码、带宽和连接数视图不再接收新的数据面指标。 |
| 基于指标的告警 | 依赖已上传网关指标的告警策略不再收到新样本;依赖其他状态的控制面告警仍可继续运行。 |
| 运维可见性 | 容量规划和故障排查必须使用其他指标路径,例如直接抓取 Prometheus 指标。 |
停止上传前,请确保其他监控路径能够满足运维和合规需求。
这些遥测报告仅从数据面发送到它所连接的控制面。此设置不控制其他外部集成。