Skip to content

监测与回程

Komari Lite 的“服务器监控”和“主动探测”是两类数据:前者由 Agent 定时上报,后者由任务按独立间隔执行。

延迟监测

延迟任务可使用 IPv4 或 IPv6 目标,记录延迟、丢包和可用性。探测间隔会直接影响写入量:

  • 5 秒一次约为每分钟 12 次。
  • 1 秒一次约为每分钟 60 次。
  • 节点数、任务数和保存天数会共同放大数据库占用。

回程线路监测

回程任务由指定服务器向探测目标执行 ICMP 路由追踪,用于持续识别实际回程线路,并监测线路切换、恢复和持续异常。任务中选择的运营商用于标记探测目标,不会限制实际识别结果;例如电信目标经过移动精品线路时,仍会按实际路径识别。

判定流程

系统按以下顺序处理每次探测结果:

  1. 移除私网地址、无效地址和 100.64.0.0/10 共享地址。
  2. 跳过超时或隐藏的跳点,但保留其数量用于判断路径是否完整。
  3. 保持有效公网跳点的原始顺序,并结合维护网段、BGP 网段和 ASN 识别线路特征。
  4. 优先识别精品线路,再分析 CN2 的有序承载结构,最后识别普通骨干线路。
  5. 将识别结果与任务设置的预期线路比较,更新健康、观察、切换或恢复状态。

支持的线路

线路主要识别特征判定说明
CMIN2AS58807路径中识别到 CMIN2 特征时判为 CMIN2
CMIAS58453路径中识别到 CMI 特征时判为 CMI
CMNETAS9808、AS56040、AS56041、AS56046未识别到移动精品线路时,按普通移动骨干线路处理
CUG VIPAS10099、AS9929AS10099 与 AS9929 同时出现时判为 CUG VIP;路径仅显示 AS10099 接入时也按 CUG VIP 处理
CUG 优化AS10099、AS4837CUG 接入后转入 AS4837 时判为 CUG 优化
9929AS9929未出现 AS10099 时,独立识别为 9929
4837AS4837未识别到联通精品线路时,按普通 4837 骨干线路处理
CN2 GIAAS23764、AS4809、59.43.* 及跳点顺序根据 CN2 入口、持续承载和末端交付结构综合判断
CN2 GTCN2 后进入明确的 202.97.* 国内 163 承载段只有形成明确的中间承载段时才判为 CN2 GT
163AS4134、AS4812 或电信 BGP 网段未形成 CN2 线路结构时,按普通电信 163 线路处理

判定优先顺序

系统首先按跳点顺序寻找 CUG、9929、CMIN2 和 CMI 等精品线路入口。多个精品线路特征同时存在时,以路径中最先出现的有效入口为准,同时结合 CUG 接入后的后续承载网络区分 CUG VIP 和 CUG 优化。

没有识别到精品线路后,系统会根据跳点顺序分析 CN2 GIA、CN2 GT 或 CN2 待确认。只有路径不属于上述线路时,才继续按跳点顺序识别普通 163、4837 或 CMNET;仍没有有效特征时,本次结果记为无法识别,不据此切换线路状态。

CN2 GIA 判定

满足以下任一结构时,线路判为 CN2 GIA:

  • 首个 CN2 节点前出现 AS23764。
  • 路径持续经过至少两个 AS4809 或 59.43.* 节点,后续没有明确的国内 163 骨干承载段。
  • 持续经过 CN2 后,只进入省级电信接入网完成末端交付,没有出现可确认的 202.97.* 骨干承载段。
  • 218.30.48.* 境外交接节点之后进入持续的 CN2 承载,后续保持 CN2 或仅转入本地接入网。

218.30.48.* 位于首个 CN2 节点之前时只视为境外交接,不能单独作为 CN2 GT 的依据。省级电信接入地址即使属于 AS4134 或 AS4812,也不会仅凭 ASN 被累计为 GT 骨干节点。

CN2 GT 判定

CN2 GT 必须具有明确的国内 163 中间承载结构:

  • 路径先进入 CN2。
  • CN2 后至少出现两个由规则确认的 202.97.* 骨干候选节点。
  • 这些节点必须承担中间传输,不能只由最终跳点凑足数量。
  • 进入该 163 承载段后不再返回 CN2。

只有一个接近末端的 202.97.* 节点,或路径无法证明存在多个中间承载节点时,不会直接判为 CN2 GT。

CN2 待确认

路径已经具有 CN2 特征,但证据不足以可靠区分 GIA 和 GT 时,结果显示为“CN2 待确认”。常见情况包括:

  • 只看到一个 CN2 节点。
  • CN2 后只有一个接近末端的 202.97.* 节点。
  • 两个 202.97.* 节点中有一个已经是最终跳点,无法确认其承担中间传输。
  • CN2 后的接入结构混入其他运营商,无法形成完整承载链路。
  • 只看到境外交接节点,后续关键 CN2 跳点被隐藏。
  • 路径缺失较多,无法可靠还原 CN2 与 163 的先后关系。

隐藏跳点不会把结构已经明确的 GIA 或 GT 降为待确认;只有有效公网跳点本身证据不足时,隐藏跳数才会影响判定。

状态确认与告警

首次探测结果与预期线路一致时,任务直接进入健康状态。识别到非预期线路后,需要达到任务设置的切线确认次数才会确认切换;切线后重新识别到预期线路,也需要达到恢复确认次数才会恢复。不同的有效候选线路会重新开始计数。

“CN2 待确认”不会覆盖上一次已经确认的线路,不累计切线或恢复次数,也不会产生切换、恢复或重复告警。探测失败、没有有效公网跳点或线路无法识别时,同样不会据此切换已确认状态。

切线通知和恢复通知可以分别启用。线路持续处于切换状态时,系统按照任务设置的冷却时间发送重复提醒。

分层保留

监控数据固定启用分层降采样:短期保留更细的原始采样,较旧数据逐层转换为分钟、五分钟和小时级摘要。

这不是把所有数据直接删成低精度,而是按年龄接力:

  1. 原始层满足交接条件后生成下一层。
  2. 下一层写入成功后才删除对应旧块。
  3. 失败时保留原数据,后续继续处理。

服务器 2 秒上报和探测 5 秒执行并不共享同一条时间轴。共享只发生在同一个服务器的一组服务器指标之间,或同一个探测任务的延迟与丢包之间。

容量估算

容量不能只按服务器数估算。更重要的变量是:

  • 每台服务器的上报间隔。
  • 每台服务器关联的探测任务数。
  • 每个任务的探测间隔。
  • 数据保留天数。
  • 数据波动程度和丢包情况。

调整前建议观察至少完整一个计费日,并同时记录数据库文件、WAL 和监控任务数量。

基于 MIT 许可证发布