真实校园网络视角
节点运行在校园不同网络位置,可以观察中心服务器难以感知的 楼栋级和区域级网络异常。
部署在宿舍、实验室、办公室、服务器或其他校园网络环境。
向节点下发拨测配置,并接收节点周期性上报的测量结果。
汇总不同区域的观测结果,形成校园网络状态视图。
一个中心服务器只能看到自己所在网络位置的连通情况。 校园网覆盖多个校区、楼栋和接入网络,同一时间不同区域的网络体验可能完全不同。 分布式节点让我们能够从更多真实的校园网络位置观察问题。
节点运行在校园不同网络位置,可以观察中心服务器难以感知的 楼栋级和区域级网络异常。
探针根据 Gateway 下发的配置周期执行 ICMP 和 HTTP 测量, 从网络层和应用层共同观察目标状态。
一台长期连接校园网的电脑、服务器、软路由或其他设备, 就可以成为校园网络的一个观测点。
当多个区域同时出现异常,可以辅助判断问题是否具有普遍性; 当只有少数节点异常,则可以进一步缩小问题所在的网络区域。 节点覆盖越丰富,对校园网络状态的观察就越完整。
从更多真实校园网络出口持续进行拨测。
通过不同节点之间的结果差异辅助判断问题范围。
长期观察网络质量变化,为问题排查提供参考。
完成节点登记并获取接入信息后, 在设备上运行 CQU NetProbe 即可加入校园网络分布式监测体系。
打开 NetProbe 节点管理平台 ,按照页面提示填写节点所在的校区、楼栋等信息。
创建节点后获取平台提供的接入信息和节点 Token。 Token 用于识别和认证你的探测节点,请妥善保存,不要公开分享。
根据设备环境选择 Docker, 或从 GitHub Releases 下载对应平台和架构的二进制程序并启动。
创建节点,获取 Token,然后选择一种部署方式即可。
CQU NetProbe 提供 Docker 镜像和预编译二进制程序。 对于服务器、NAS、软路由等长期运行环境可以使用 Docker; 也可以直接下载与设备平台和 CPU 架构对应的 Release。
从节点管理平台获取 Gateway 地址和 Token,
然后替换下面命令中的
GATEWAY_URL
与
YOUR_GATEWAY_TOKEN。
docker run -d \
--cap-add NET_RAW \
--name cqu-netprobe \
-e CQU_NETPROBE_GATEWAY_URL=GATEWAY_URL \
-e CQU_NETPROBE_TOKEN=YOUR_GATEWAY_TOKEN \
-e CQU_NETPROBE_LOG_LEVEL=info \
--restart unless-stopped \
tano26/cqu-netprobe:1
如果不使用 Docker,可以直接下载官方 Release。 v1.0.0 已提供常见 Linux 与 Windows 平台的预编译程序, 无需在本地安装 Go 或自行编译。
以常见的 Linux x86-64 主机为例,下载
cqu-netprobe_v1.0.0_linux_amd64.tar.gz
后执行:
mkdir cqu-netprobe
cd cqu-netprobe
tar -xzf ../cqu-netprobe_v1.0.0_linux_amd64.tar.gz
cp config.example.json config.json
nano config.json
./cqu-netprobe
编辑同目录中的
config.json,
将 Gateway 地址和 Token 替换为节点管理平台提供的实际内容。
{
"gateway_url": "GATEWAY_URL",
"token": "YOUR_GATEWAY_TOKEN",
"log_level": "info"
}
下载对应的 ZIP 文件并解压后,
创建 config.json,
即可运行 cqu-netprobe.exe。
Expand-Archive .\cqu-netprobe_v1.0.0_windows_amd64.zip .\cqu-netprobe
cd .\cqu-netprobe
Copy-Item .\config.example.json .\config.json
notepad .\config.json
.\cqu-netprobe.exe
uname -m
查看 Linux CPU 架构,再选择对应的 Release 文件。
节点接入后无需人工维护探测目标。 探针会从 Gateway 获取配置, 并按照服务端下发的任务持续执行测量和上报。
通过状态页面查看校园网络相关目标的实时监测结果, 快速了解当前网络服务状态。
能够长期保持校园网连接并运行 CQU NetProbe 的设备都可以考虑, 例如服务器、软路由、NAS、实验室主机或其他长期在线设备。
如果设备已经具有 Docker 环境,可以直接使用容器部署。 如果是普通 Windows、Linux 主机或者不希望安装 Docker, 可以从 GitHub Releases 下载对应架构的二进制程序直接运行。
CQU NetProbe 主动从 Gateway 获取配置并上报测量结果, 因此通常不需要为了探针本身开放公网入站端口。
Linux 下探针优先使用非特权 ping socket。
当该方式不可用时会回退到 raw socket,
因此容器需要
NET_RAW
capability 才能完成 ICMP 探测。
不建议。Token 用于识别和认证一个探测节点, 应当像其他访问凭据一样妥善保管。
项目代码托管于 GitHub ,二进制程序可以在 v1.0.0 Release 下载。