运维架构
运维对象
K-NET程序及网卡
运维功能
抓包工具dumpcap:为K-NET提供调试抓包功能,提供详细的网络实时监测细节,有两种适配K-NET的抓包模式。
- 单进程抓包,基于主进程间的socket共享主进程收发队列,将共享报文写入文件,文件可由tcpdump命令和Wireshark工具查看。定位工具在使用抓包获取前需要先编译生成抓包程序。K-NET绑定的抓包获取能力在其他场景抓包可能失败,因此该功能仅用于K-NET。
- 多进程抓包,对多个K-NET加速进程提供抓包能力,可用过滤条件筛选目标进程的隔离数据包。多进程抓包时,仅能抓到在抓包工具启动之前已经启动的业务进程的数据包,若业务进程在抓包工具启动后才启动,则无法抓取其数据包,此时需同时重启抓包工具和业务进程,或确保业务进程先于抓包工具启动。
遥测工具dpdk-telemetry:提供网卡收发报文统计指标,包括但不限于收发报文、错包等统计指标。
获取网卡统计信息的工具借助了DPDK提供的统计工具 "dpdk-stable-21.11.7/usertools/dpdk-telemetry.py"(DPDK遥测工具)。对于统计信息所列出的所有功能,网卡可能并没有全部适配。目前该工具的使用场景主要是用于获取网卡队列统计信息,报文统计信息。目前常用的场景如下:
- 验证流量是否正确到达配置的网卡队列。
- 检查收发包、错包统计数量。
- 检查TCP报文统计指标,包括TCP相关统计、TCP连接状态统计、协议栈各类报文统计、协议栈异常打点统计、协议栈内存使用统计、协议栈PBUF使用统计等。
日志工具knet_comm.log:记录K-NET运行期间程序行为,提供错误跟踪、告警记录等基础功能,方便问题定位。
运维信息收集脚本collect.sh:收集运维信息,方便问题定位。
配置文件合并脚本merge_conf.sh:更新K-NET配置文件的历史配置。