3. 迁移前基线采集:如何对现有服务目录平台进行全面的运行基线数据采集

迁移前基线采集是架构迁移适配的起点,其目标是为目标云原生环境提供可量化的性能锚点。若缺少准确的基线数据,迁移后的性能劣化或资源超配将无法被有效归因。本节将围绕 CPU、内存、IO 和网络延迟四个核心维度,阐述采集方法、工具选型与数据规整策略。

3.1 基线采集总体流程

基线采集并非简单的指标抓取,而是一个包含“定义-采集-清洗-标记”的闭环过程。建议按照以下步骤执行:

  1. 定义采集窗口:覆盖业务高峰、低峰与日常时段,至少持续 7×24 小时。
  2. 确定采样粒度:CPU/内存建议 5-10 秒,IO 与网络延迟建议 1-5 秒。
  3. 部署采集代理:优先使用无侵入或低侵入方案,避免观测效应。
  4. 数据清洗与对齐:剔除异常尖刺,统一时间戳精度。
  5. 生成基线快照:输出 P50/P95/P99 分位值与均值,作为迁移后对比基准。
实践建议: 在采集期间同步记录服务目录平台的业务交易量(如每分钟 API 调用数),以便迁移后做“每交易资源消耗”的归一化对比,避免因业务量波动导致误判。

3.2 四维基线采集详解

下表汇总了四个维度的关键采集指标、推荐工具与注意事项:

维度 核心指标 推荐工具/方法 采集注意事项
CPU 使用率(%)、平均负载、上下文切换次数 top / htop / Prometheus Node Exporter 区分 user/sys/iowait;注意超线程核的计数方式
内存 已用内存、缓存/缓冲区、Swap 使用率 free -m / /proc/meminfo / Grafana 关注 JVM 堆外内存与堆内 GC 频率
IO IOPS、吞吐量(MB/s)、平均延迟(ms)、队列深度 iostat / fio / Node Exporter diskstats 区分读写比例;关注日志盘与数据盘的差异
网络延迟 TCP 往返时间(RTT)、重传率、连接数 ping / tcpdump / eBPF / cAdvisor 测量服务间延迟而非仅 ICMP;关注 P99 延迟

3.3 基线数据采集架构

下图展示了针对服务目录平台的典型基线采集部署架构,涵盖从主机层到应用层的指标汇聚路径:

服务目录平台基线采集架构图 服务目录平台基线采集架构 服务目录实例 1 服务目录实例 2 服务目录实例 3 Node Exporter cAdvisor / eBPF JMX Exporter Prometheus Server(指标汇聚) Grafana 仪表盘 基线快照存储 说明:采集代理部署在每台服务目录实例所在主机,通过 Prometheus 拉取后写入时序库,最终生成基线快照

3.4 关键指标采集命令速查

以下为现场采集时常用的命令片段,建议在采集前进行验证:

# CPU 与上下文切换(每 5 秒采样一次)
mpstat -P ALL 5 > cpu_baseline.log

# 内存与 Swap 使用
free -h -s 5 > mem_baseline.log

# IO 延迟与队列(关注 await 与 svctm)
iostat -x 5 > io_baseline.log

# 网络延迟(服务间 RTT,单位 ms)
ping -c 100 -i 0.1 service-catalog-peer > net_latency.log

# 全量指标采集(使用 Prometheus Node Exporter 文本格式)
curl -s http://localhost:9100/metrics | grep -E 'node_cpu|node_memory|node_disk|node_network' > full_metrics.prom
注意: 采集命令应避免在生产高峰期首次运行。建议先在预发环境验证 IO 与网络延迟采集对业务的影响,确认无显著性能干扰后再全量部署。

3.5 基线数据规整与输出

原始采集数据需经过规整才能形成可对比的基线快照。推荐使用以下数据模型进行存储:

字段 类型 示例值 说明
timestamp RFC3339 2025-03-21T14:30:00Z 采集时间戳,统一转为 UTC
host string catalog-node-01 主机标识
cpu_usage_pct float 45.2 CPU 使用率百分比
mem_used_gb float 12.8 已用内存(GB)
disk_iops int 320 磁盘 IOPS
net_rtt_ms_p99 float 2.5 网络 P99 延迟(ms)

规整后的基线数据应输出为 CSV 或 Parquet 格式,并附带一份摘要报告,包含以下内容:

  • 峰值时段标记:CPU 与 IO 同时达到高位的时段,用于迁移后的压力测试场景设计。
  • 资源利用率分布:P50/P95/P99 分位值,避免被平均值掩盖的尖刺。
  • 异常事件记录:采集期间发生的 OOM、CPU 软锁、网络超时等事件的时间戳与上下文。
基线采集完成标志: 当四维指标均完成至少 7 天连续采集,且数据规整后生成了一份包含分位值、峰值时段与异常事件的摘要报告,即可认为迁移前基线采集阶段结束,进入架构迁移适配分析环节。