优化遥测数据传输
数据面(DP)定期向控制面(CP)上报运行指标,用于集中监控、告警和控制台 可视化。遥测数据采用 prometheus 格式,包括 API 流量、请求延迟、HTTP 状态码、带宽和连接数。
默认情况下,DP 会启用 Gzip 压缩,并每 15 秒上报一次遥测数据。本指南介绍如何配置遥测、调整压缩级别,以及在必要时禁用遥测。
遥测配置
在数据面的 config.yaml 中配置遥测设置:
conf/config.yaml
api7ee:
telemetry:
# 是否启用向控制面上报遥测数据
enable: true
# 遥测数据上报间隔(秒)
interval: 15
# 每次上报的指标数据最大大小(字节,默认为 32 MB)
max_metrics_size: 33554432
# 压缩前的最大批量大小(字节,默认为 4 MB)
metrics_batch_size: 4194304
# Gzip 压缩级别(-1 表示库默认值,0 表示不压缩,1-9)
compression_level: -1
压缩级别
Gzip 压缩减少了遥测传输的网络开销。压缩级别控制 CPU 使用率和数据大小之间的权衡:
| 级别 | 描述 | 特点 |
|---|---|---|
| -1 | 使用库的默认值 | 通常为 6 级,在 CPU 开销与压缩率之间取得平衡。 |
| 0 | 不压缩 | 无压缩 CPU 开销,传输数据量最大。 |
| 1 | 最快压缩 | CPU 使用率最低,压缩率也最低。 |
| 6 | 均衡压缩 | 在 CPU 使用率与压缩率之间取得较好平衡。 |
| 9 | 最大压缩 | 压缩率最高,CPU 使用率也最高。 |
性能比较
下表显示包含 3600 个路由的测试环境中的示例结果:
| 指标 | 1 级 | 6 级 | 9 级 |
|---|---|---|---|
| 原始大小 | 7.71 MB | 6.60 MB | 6.45 MB |
| 压缩后大小 | 0.22 MB | 0.16 MB | 0.12 MB |
| 压缩率 | 97.10% | 97.54% | 97.98% |
| DP CPU 使用率 | 17.39% | 21.57% | 29.61% |
对于大多数部署,默认级别(-1,通常为 6)提供了良好的平衡。如果 CPU 资源受限,请考虑级别 1;如果带宽有限,请考虑级别 9。
禁用遥测
要禁用从 DP 到 CP 的遥测数据传输,请将 enable 设置为 false:
conf/config.yaml
api7ee:
telemetry:
enable: false
重新启动或重新加载网关以使更改生效。
禁用遥测的影响
禁用遥测会对运营产生重大影响:
| 影响 | 详情 |
|---|---|
| 可观测性丢失 | 控制面将不再接收性能指标。监控仪表板和告警系统将无法运行。 |
| 运维能力受限 | 团队无法再通过集中式指标评估服务健康状况、规划容量和排查问题。 |
| 合规风险 | 可能无法满足有关系统监控和审计的行业合规要求。 |
仅在特殊情况下禁用遥测,例如隔离的调试环境。
备注
该遥测仅是内部 DP 到 CP 通信。API7 网关不会向外部服务发送匿名使用数据或“回拨”。