有关 Cloudflare 采样工作原理的深入介绍,请参阅 Understanding sampling in Cloudflare Analytics。
在少数情况下,Cloudflare 仪表板和 GraphQL Analytics API 提供的分析基于样本——数据集的子集。在这些情况下,Cloudflare Analytics 返回从采样值推导的估算。例如,假设在攻击期间采样率为 10%,采样了 5,000 个事件。Cloudflare 将估算总共 50,000 个事件(5,000 × 10)并在 Analytics 中报告此值。
Cloudflare GraphQL API 公开由自适应采样驱动的数据集。这些节点名称中包含 Adaptive,可通过 introspection 发现。
采样数据的存在也在 Cloudflare 仪表板和 API 中的数据集描述中标注。
Analytics 旨在尽快提供适当详细程度的请求数据。采样使 Cloudflare 能在几秒内交付分析,即使数据集快速且不可预测地扩展,例如攻击期间生成的 Firewall 事件突发。由于底层数据量很大,从样本估算的值仍应具有统计显著性——意味着你可以高度信赖采样数据。如果不采样,回答查询可能需要几分钟或更长时间——在验证缓解措施时等待时间过长。
Cloudflare 几乎总是使用自适应采样,这意味着采样率根据摄取或查询的数据量波动。如果记录数量相对较少,则不使用采样。但是,随着记录量增加,逐步应用更低的采样率。Security Events(也称为 Firewall Events)和 Security Event Log 遵循此模型。使用自适应采样的数据节点可通过节点名称中的 Adaptive 后缀轻松识别,如 firewallEventsAdaptive。
以下数据节点基于固定采样,采样率不变:
| 数据集 | Rate | Notes |
|---|---|---|
| Firewall Rules Preview Nodes: |
1% | 谨慎使用。1% 采样率无法为小于特定阈值的数据集提供准确估算,Cloudflare 仪表板会明确标注此场景,但 API 不会。 |
| Network Analytics Nodes: |
0.012% | 采样率以数据包计数为单位(每 8,192 个数据包中的 1 个)。 |
由于采样主要是 adaptive 并自动调整以提供准确估算,无法直接控制采样率。Enterprise 客户可通过 Cloudflare Logs 访问原始数据。