优化遥测数据传输
数据面(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 级(平衡) |
| 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 网关不会向外部服务发送匿名使用数据或“回拨”。