## Why 项目当前支持 HTTP、CMD、DB、TCP 四种 checker,缺少最基础的网络层存活检测能力。ICMP Ping 是运维监控的基石——主机存活、网络延迟、丢包率是判断网络健康的第一手指标,也是区分"网络层故障"与"应用层故障"的关键手段。 ## What Changes - 新增 `type: ping` checker,通过调用系统 `ping` 命令实现 ICMP 探测 - 支持配置 host、count(包数量)、packetSize(包大小,用于 MTU 测试) - 支持断言:alive(可达性)、maxAvgLatencyMs(平均延迟)、maxMaxLatencyMs(最大延迟/抖动)、maxPacketLoss(丢包率)、maxDurationMs(整体耗时) - 自行实现跨平台(Linux/macOS/Windows)ping 输出解析器,不引入三方库 - 文档注明 ICMP checker 依赖系统 `ping` 命令存在(容器环境需确保已安装,如 Alpine 需 `iputils-ping`) ## Capabilities ### New Capabilities - `icmp-checker`: 定义 ICMP/Ping checker 的配置格式、命令执行、跨平台输出解析、expect 校验和状态摘要 ### Modified Capabilities - `checker-runner-abstraction`: 超时控制 requirement 中"仅 cmd checker 可在 signal abort 时 proc.kill()"需扩展为"cmd checker 和 ping checker",因为 ping checker 同样 spawn 子进程 - `probe-config`: 配置格式需扩展支持 `type: ping` 的 target 配置、`ping` 领域分组和对应的 expect 字段 ## Impact - 后端代码:新增 `src/server/checker/runner/icmp/` 模块,注册到 CheckerRegistry - 配置 schema:`probe-config.schema.json` 需更新,新增 ping target 和 expect 的 schema 片段 - 测试:新增 `tests/server/checker/runner/icmp/` 测试套件 - 文档:README.md 和 DEVELOPMENT.md 需更新,注明 ping 命令的系统依赖 - 无新增三方依赖