摘要

  • RIPE NCC 10 月 20 日的通告区分了 RIPEstat 各端点的数据新鲜度,并说明 Looking Glass 元数据会标出当前数据中的最差延迟。
  • 一次 18:04:43 UTC 发起的查询,响应给出的最新数据时间为 12:13:37 UTC。这只是单个资源的一次快照,不能代表所有对等方、资源或 API。

一条实时查询可以有限地展示 API 暴露了什么。18:04:43 UTC,RIPE NCC 的 Looking Glass API 成功响应,且响应标记为未缓存。查询时间是 18:04:43,最新数据时间是 12:13:37,两者相差五小时五十一分六秒。该响应包含 23 个采集器组和 345 条 peer 记录。汇总时间表达的是这个端点给出的数据新鲜度信息,不能据此断定 345 条记录都同样陈旧。这项检查也不能外推到另一个前缀、另一个端点或 RIPE NCC 网络的整体状态。

一次请求可以刚刚成功,响应里的观测却已经过时。监控面板若只显示 API 返回成功、最近的查询时间或一个笼统的服务状态,很容易把这两种时间混为一谈。10 月 20 日,RIPE NCC 对 RIPEstat 作了更细的说明:由于 RIPE Routing Information Service(RIS)出现问题,部分数据延迟,而不同 API 端点受到的影响不同。

这不是 RIPEstat 只有一只统一的“数据时钟”。RIPE NCC 表示,Looking Glass 对多数(超过 90%)peer 的数据应当是最新的,同时其元数据会指出现有数据中的最差延迟。这两句话需要一起读。多数数据可以及时,较小一部分仍可能较旧;最大延迟字段揭示的是尾部,不是每条记录的年龄。RIPE NCC 没有给出覆盖所有端点的统一新鲜度保证,也没有定义一个能适用于每个 peer 的“最新”阈值。

这个区分之所以重要,是因为 RIPEstat 既是公开数据接口,也是其自身组件和用户界面的数据来源。它不是一个只有单一更新周期的数据表。每个端点回答的问题不同。RIPE NCC 的说明把数据采集频率、存储更新节奏、处理延迟、采集或处理是否正常、缓存状态都列为影响时效的因素。请求成功只能证明接口返回了响应;它本身不说明每条底层观测是什么时候采集的。

Looking Glass 文档说,其 RIS 数据流通常只存在较小延迟,可视为接近实时;但返回结果区分两个时间:路由最近一次发生变化的时间,以及最近一次确认该路由的时间。两者不能互换。端点还可设置回溯时间,默认不返回超过 24 小时的记录。因此,结果中没有某一行,不能直接证明相应路由不存在;必须先看查询过滤条件和观测窗口。

上游 RIS 事件说明这是数据链路中的时效问题,而不是路由故障通报。RIPE NCC 的另一条状态更新提到,从存储后端复制 BVIEW 文件遇到问题,RRC25 收集到的消息也出现处理延迟。该次更新称,除 RRC25 外,最新 BVIEW 文件仍在发布;RIS 更新文件同样有延迟。RIPEstat 通告链接到这个上游事件,并指出各 API 端点受到的影响不同。两条通告都没有说互联网路由消失,也没有称客户因此失去连通性。

实际做法很朴素:把数据时钟与查询时钟一同保存。用 RIPEstat 支持决策时,应记录端点、资源、请求时间、最新数据时间、缓存状态,以及响应覆盖的范围。随后再将数据年龄与这项决策能够容忍的延迟比较。五小时前的观测或许适合历史趋势分析,却不一定适合自动执行动作;阈值应由具体用途决定,而不是由仪表盘的通用颜色决定。

RIPE NCC 的状态说明有价值,恰恰因为它没有把事件压缩成一个数字。“超过 90%”提供整体方向,元数据则提示最差延迟。读者不需要判断通告是真是假;需要判断的是眼前这个端点和这段数据窗口能否支撑自己的决定。把两项检查分开,既保留数据的用途,也不让数据承担它无法证明的结论。 一手来源:RIPE NCC 的 RIPEstat 事件、RIPE NCC 的 RIS 事件、RIPEstat Data API 文档、Looking Glass 端点文档、RIPEstat 介绍、带时间戳的 Looking Glass API 响应和 RIS 采集器文档。