- 新增 type: cpu checker,基于 os.cpus() 两次快照计算 CPU 使用率 - 配置项:sampleDuration(默认 1s)、includePerCore(默认 false) - expect 字段:usagePercent、idlePercent、maxCoreUsagePercent、minCoreUsagePercent、durationMs - idlePercent 与 usagePercent 互补恒等于 100,百分比范围 0-100 - logicalCoreCount 仅输出到 observation,不作为 expect 字段 - 不暴露 userPercent / systemPercent - 语义校验禁止 sampleDuration >= timeout - 支持 AbortSignal 超时取消 - 完整测试覆盖:schema、validate、normalize、resolve、calculate、execute、expect、config-loader - 新增用户文档 docs/user/checkers/cpu.md - 更新 checker 索引、配置类型列表、示例配置和 schema
48 lines
2.5 KiB
Markdown
48 lines
2.5 KiB
Markdown
# Checker 参考
|
||
|
||
Checker 是 DiAL 的拨测执行单元。每个 target 通过 `type` 选择一个 checker,并配置对应的专属字段和 `expect` 规则。
|
||
|
||
适用场景:查询 checker 类型选择、专属配置、expect 字段、示例和各 checker 文档入口。
|
||
|
||
## 支持的类型
|
||
|
||
| 类型 | 用途 | 文档 |
|
||
| ------ | -------------------------------------- | --------------- |
|
||
| `http` | HTTP/HTTPS 应用层健康检查 | [HTTP](http.md) |
|
||
| `cmd` | 执行本地命令或脚本 | [Cmd](cmd.md) |
|
||
| `db` | PostgreSQL/MySQL/SQLite 连接和查询检查 | [DB](db.md) |
|
||
| `tcp` | TCP 端口可达性和 banner 探测 | [TCP](tcp.md) |
|
||
| `udp` | UDP payload 请求-响应检查 | [UDP](udp.md) |
|
||
| `icmp` | 基于系统 `ping` 的存活、延迟、丢包检查 | [ICMP](icmp.md) |
|
||
| `dns` | 本机解析或指定 DNS server 协议级检查 | [DNS](dns.md) |
|
||
| `llm` | 大模型服务应用层健康检查 | [LLM](llm.md) |
|
||
| `ws` | WebSocket 可达性和消息交互检查 | [WS](ws.md) |
|
||
| `cpu` | 本机 CPU 使用率健康检查 | [CPU](cpu.md) |
|
||
|
||
## 选择建议
|
||
|
||
| 目标 | 推荐 checker |
|
||
| ---------------------------------- | ------------ |
|
||
| Web API、网页、HTTP 状态码或响应体 | `http` |
|
||
| 本机脚本、外部命令、CLI 工具 | `cmd` |
|
||
| 数据库连接或查询结果 | `db` |
|
||
| 端口是否可连接、服务 banner | `tcp` |
|
||
| UDP 服务响应或简单心跳 | `udp` |
|
||
| 主机可达性、延迟、丢包率 | `icmp` |
|
||
| 域名解析值、DNS RCODE、TTL、flags | `dns` |
|
||
| LLM API 是否可用、输出是否符合预期 | `llm` |
|
||
| WebSocket 可达性或消息交互验证 | `ws` |
|
||
| 本机 CPU 使用率健康检查 | `cpu` |
|
||
|
||
## 通用字段
|
||
|
||
所有 checker 都共享 target 通用字段,见 [配置文件](../configuration.md#targets-通用字段)。
|
||
|
||
## 通用断言模型
|
||
|
||
各 checker 的 `expect` 字段复用 `ValueMatcher`、`ContentExpectations` 和 `KeyedExpectations`。详情见 [校验规则](../expectations.md)。
|
||
|
||
## 更新触发条件
|
||
|
||
新增、移除或修改 checker 类型、用途、选择建议、通用字段或通用断言模型时,必须更新本文档。checker 专属字段变化还必须同步更新对应 `checkers/<type>.md`。
|