1
0
Files
DiAL/docs/user/status-model.md

2.7 KiB
Raw Blame History

目标状态判定

DiAL 使用单层状态模型。

状态 含义
UP 拨测结果符合 expect 规则
DOWN 拨测结果不符合 expect 规则,或执行失败

执行失败(网络错误、超时、进程崩溃)和 expect 不匹配都统一为 DOWN,通过 failure.kind 区分原因。

failure.kind 含义
error 网络、超时、进程、协议解析或内部执行错误
mismatch 拨测完成,但结果不满足 expect

API 结果字段

API 返回的检查结果包含 detailobservation

字段 说明
detail 后端按 checker 类型从结构化 observation 动态生成的人可读摘要
observation 保存该次检查的结构化观测数据
failure 保存首个错误或不匹配原因
matched 是否符合 expect
durationMs 本次检查耗时
timestamp 本次检查时间

detail 不写入 SQLite。存储层仅持久化 observation JSON、failure JSON、匹配状态、耗时和时间戳。

observation 示例

不同 checker 的 observation 字段不同,常见信息包括:

Checker observation 内容示例
HTTP 状态码、响应头、按需读取的 body 预览
Cmd exit code、stdout/stderr 预览
TCP 连接结果、banner 摘要
UDP 响应内容、来源地址、响应大小
ICMP 存活结果、丢包率、平均延迟、最大延迟
DNS RCODE、记录值、TTL、flags、CNAME 链
LLM HTTP 状态、模型输出、finish reason、token usage、流式首 token 时间

趋势与统计

Dashboard 基于存储的检查结果计算实时状态、可用率、耗时趋势、P95、状态条和故障段等指标。指标语义由后端应用层实现SQLite 主要负责存储、筛选、排序、分页和基础聚合。