1
0
lanyuanxiaoyao 2f8fd8bd9c refactor: 将 memory checker 重命名为 mem
- 类型标识符 memory → mem
- 类名 MemoryChecker → MemChecker
- 内部类型名统一 Memory* → Mem*
- 内部函数名统一 *Memory* → *Mem*
- 目录重命名 memory/ → mem/(源码、测试、文档)
- 配置键 memory: → mem:
- 重新生成 probe-config.schema.json
- 保留中文"内存"用户提示

破坏性变更:无向后兼容
2026-05-27 18:19:29 +08:00
2026-05-25 10:47:52 +08:00
2026-05-26 15:37:27 +08:00
2026-05-09 14:48:49 +08:00
2026-05-09 14:48:49 +08:00
2026-05-25 10:47:52 +08:00

DiAL

轻量级多类型拨测监控工具

基于 Bun + TypeScript 构建 · YAML 配置驱动 · 内置 Dashboard


DiAL 是一个自托管的拨测监控工具,支持 HTTP命令行数据库TCPUDPDNSICMPLLM 多种拨测类型。通过 YAML 配置文件定义拨测目标,后端定时并发执行拨测并将结果持久化到本地 SQLite前端 Dashboard 展示各目标的实时状态、可用率和耗时趋势。

功能亮点

  • 多类型拨测HTTP、Cmd、DB、TCP、UDP、DNS、ICMP、LLM
  • 丰富校验规则状态码、响应头、JSONPath、CSS 选择器、XPath、正则匹配、数值比较等
  • 结构化观测数据HTTP body 预览、TCP/UDP 响应摘要、ICMP 丢包率、CMD 输出、LLM token 用量等
  • 内置 Dashboard实时状态、可用率统计、趋势图、最近状态条、手动/自动刷新、版本号展示
  • 多主题支持:系统、明亮、黑暗三种主题模式
  • 自托管部署:本地 SQLite 存储,无需额外数据库服务

应用截图

亮色 暗色
主页 index-light index-dark
详情页 detail-light detail-dark

快速开始

前置条件: Bun >= 1.0

ICMP checker 依赖系统 ping 命令。精简容器镜像需额外安装,例如 Alpine 可安装 iputils-ping

git clone https://github.com/your-org/DiAL.git
cd DiAL
bun install
cp probes.example.yaml probes.yaml
bun run dev probes.yaml

bun run dev 会同时启动 Vite 开发服务器(http://127.0.0.1:5173)和 API 服务器(http://127.0.0.1:3000),访问前端地址即可使用 Dashboard。

最小配置示例

# yaml-language-server: $schema=./probe-config.schema.json

targets:
  - id: "baidu-home"
    name: "Baidu"
    type: http
    http:
      url: "https://www.baidu.com"
    expect:
      status: [200]
      durationMs:
        lte: 5000

完整配置、checker、expect 和部署说明参见 用户文档配置文件Checker 参考校验规则

生产运行

bun run build
./dist/dial-server ./probes.yaml

Docker、跨平台发布包和运行时注意事项参见 部署文档

文档导航

入口 内容
文档总览 全部文档入口和文档归属矩阵
用户文档 配置、部署、expect、排障和 checker 使用入口
配置文件 YAML 结构、变量、server、targets 通用字段
Checker 参考 所有 checker 的配置、expect 和示例
校验规则 expect 规则、状态判定、failure、observation
部署文档 构建、Docker、发布包和容器运行边界
故障排查 常见运行问题和排查入口
开发文档 开发入口、常用命令、质量门禁和专题索引

开发

bun run check   # schema:check + typecheck + lint + test
bun run verify  # check + build

开发入口参见 开发文档。新增或修改 checker 前请先阅读 Checker 开发

License

Apache-2.0

Description
No description provided
Readme Apache-2.0 5.7 MiB
Languages
TypeScript 99.1%
CSS 0.5%
JavaScript 0.3%
Dockerfile 0.1%