对报告摄取进行重复数据删除,而不会丢失更正、策略范围或观察时间与到达时间之间的差异。
将重传视为摄取问题
参考: RFC 8460 §4.1, RFC 8460 §5.5.
报告可能会通过重试、转发或多个目的地多次到达收集器。将每次到达计数为新的遥测数据会增加流量和故障总数。在标准化之前保留原始有效负载和摘要。与报告的日期范围分开记录到达时间戳和摄入通道。报告通常涵盖 UTC 日期,并且可能会稍后到达,因此到达日期分组可能会将事件转移到错误的操作窗口中。
使用明确的假设设计密钥
参考: RFC 8460 §3, RFC 8460 §4.4.
RFC 8460定义了报告 ID 和报告元数据,但没有规定通用收集器重复数据删除算法。实用的本地设计使用经过身份验证的报告者身份、报告 ID 和报告周期作为身份密钥,以及内容摘要来检测精确的重复字节或等效的标准化内容。自由文本组织名称本身并不是经过验证的身份。保留原始文档和身份验证上下文,以便管理员可以调查冲突,而不是默默地接受自称的组织标签。
区分重复版本和冲突版本
合成装置使用相同的身份密钥和标准化摘要接收报告 R1 两次。它保留一份分析副本并记录两次到达。然后它接收具有相同身份密钥但不同失败计数和摘要的 R1。这将成为需要审查的冲突,而不是自动附加报告,也不是覆盖原始报告。第四个到达者,R2,在不同的时期,仍然是独立的。这些规则是记录在案的本地摄取选择,而不是对所有参与者强加的要求 TLS-RPT 收藏家。
重复数据删除后保留策略边界
参考: RFC 8460 §4, RFC 8460 §4.4, RFC 8460 §7.
一份报告可以包含多个策略。存储条目时保留策略类型、策略域、策略字符串和 mx-主机,以便报告级重复决策不会消除有意义的策略差异。故障类别可能在条目内重叠;重复数据删除不会使它们的细节计数增加。根据记录的摄取策略拒绝或隔离格式错误的记录,保留安全的诊断元数据。不要通过猜测来修复错误的计数或丢弃解析问题的唯一原始证据。
使重放安全且可审核
使用确定性标准化规则并对其进行版本控制。提供的教学装置在散列之前对 JSON 对象键进行排序;它没有为每个 JSON 编码或模式定义通用语义等价性。根据记录的摄入策略在规范化之前拒绝重复的对象键和格式错误的数据,因此解析器无法默默地删除冲突的值。避免在用于重复比较的内容摘要中包含摄取时间戳。存储重复的到达事件,而无需再次添加其会话计数。对于解析器修复后的重播,请确保相同的报告标识不能将总计增加两次。测试精确的重复项、更改的有效负载、重新排序的 JSON 键和不同的周期。访问控制和保留限制仍然适用于保留的操作数据。新重新运行的本地装置演示了这些幂等性情况;它不实现生产数据库,验证真实的报告者或声称所有更正共享一个报告约定。
保留历史证据和当前检查
以下传输观察结果于 2026 年 11 月 7 日捕获并进行检查,而不是作为网络测试重新运行,以供本次审查。新的离线模型检查是单独记录的。
新的离线摄取装置将每个到达存储在单独的列表中,记录新的、重复的或冲突的分类,并在重复重放后断言两个到达。第二次到货不添加分析报告。更改后的有效负载会产生冲突,同时保留原始摘要。保留的历史注释报告单独将环回主机名验证失败链接到报告形状的数据。没有使用生产数据库、经过验证的接收服务或真实的报告者。历史传输运行程序需要具有加密和环回套接字的 Python。其结果是有限的实验室证据,而不是当前的服务健康状况或生产互操作性。
主要来源基础
字段定义和报告限制来自 RFC 8460 , SMTP TLS报告,第 3 节和第 4 节。操作建议与协议要求不同。