NetFlows ↗ 显示从 Cloudflare 的边缘路由器收集的来自最终用户的网络流量数据。NetFlows 的数据也为互联网流量变化 ↗图表提供数据源。
NetFlows 包括来自 Cloudflare 路由器的所有类型流量,不仅限于到由 Cloudflare CDN ↗ 服务的网站的流量。
除了跨位置或日期范围比较时间序列外(在进行比较中讨论),我们还可以使用 product 过滤器检查 ALL 流量与仅 HTTP 流量。有关更多信息,请参阅此端点的 API 参考。
在以下示例中,我们将检查两个自治系统 ↗中的 ALL 和 HTTP 流量。首先,我们将检查 AS3243 ↗,这是一家葡萄牙当地的互联网服务提供商(ISP)。所有流量的参数是 name=AS3243_all&product=ALL&dateRange=1d&asn=3243,而仅 HTTP 流量的参数是 name=AS3243_http&product=HTTP&dateRange=1d&asn=3243):
curl "https://api.cloudflare.com/client/v4/radar/netflows/timeseries?name=meo_all&product=ALL&dateRange=1d&asn=3243&name=meo_http&product=HTTP&dateRange=1d&asn=3243&format=json&aggInterval=1h" \
--header "Authorization: Bearer <API_TOKEN>"这是缩写的响应:
{
"success": true,
"errors": [],
"result": {
"AS3243_all": {
"timestamps": ["2022-11-08T14:00:00Z", "2022-11-08T15:00:00Z", "..."],
"values": ["0.565885", "0.586434", "..."]
},
"AS3243_http": {
"timestamps": ["2022-11-08T14:00:00Z", "2022-11-08T15:00:00Z", "..."],
"values": ["0.548564", "0.568329", "..."]
}
}
}HTTP 流量值与 ALL 流量值相似。这意味着 Cloudflare 从该 AS 接收的大部分流量是到由 Cloudflare CDN ↗ 产品提供服务的网站的流量。
在这个另一个示例中,我们将检查 AS174 ↗,它是另一个不是 ISP 的自治系统:
curl "https://api.cloudflare.com/client/v4/radar/netflows/timeseries?name=AS174_all&product=ALL&dateRange=1d&asn=174&name=AS174_http&product=HTTP&dateRange=1d&asn=174&format=json&aggInterval=1h" \
--header "Authorization: Bearer <API_TOKEN>"缩写的响应为:
{
"success": true,
"errors": [],
"result": {
"AS174_all": {
"timestamps": ["2022-11-08T14:00:00Z", "2022-11-08T15:00:00Z", "..."],
"values": ["0.917348", "1.0", "..."]
},
"AS174_http": {
"timestamps": ["2022-11-08T14:00:00Z", "2022-11-08T15:00:00Z", "..."],
"values": ["0.381777", "0.408091", "..."]
}
}
}这里,与其他类型的流量相比,HTTP 流量较少——这很合理,因为这不是为最终用户提供服务的 ISP。
请注意,我们在此处发出了两个独立的请求,因为我们只对 HTTP 是否构成每个 AS 流量的大部分感兴趣。如果我们真的想要比较它们之间的流量值,以例如检查谁的流量更多,我们就必须发出包含所有系列在内的单一请求。我们可以这样做:
curl "https://api.cloudflare.com/client/v4/radar/netflows/timeseries?name=AS174_all&product=ALL&dateRange=1d&asn=174&name=AS174_http&product=HTTP&dateRange=1d&asn=174&name=AS3243_all&product=ALL&dateRange=1d&asn=3243&name=AS3243_http&product=HTTP&dateRange=1d&asn=3243&format=json&aggInterval=1h" \
--header "Authorization: Bearer <API_TOKEN>"这将导致类似如下的响应:
{
"success": true,
"errors": [],
"result": {
"AS174_all": {
"timestamps": ["2022-11-08T14:00:00Z", "2022-11-08T15:00:00Z", "..."],
"values": ["0.917348", "1.0", "..."]
},
"AS174_http": {
"timestamps": ["2022-11-08T14:00:00Z", "2022-11-08T15:00:00Z", "..."],
"values": ["0.381777", "0.408091", "..."]
},
"AS3243_all": {
"timestamps": ["2022-11-08T14:00:00Z", "2022-11-08T15:00:00Z", "..."],
"values": ["0.317136", "0.328652", "..."]
},
"AS3243_http": {
"timestamps": ["2022-11-08T14:00:00Z", "2022-11-08T15:00:00Z", "..."],
"values": ["0.307429", "0.318505", "..."]
}
}
}此响应显示 Cloudflare 从 AS174 接收的流量多于从 AS3243 接收的流量。
参阅 HTTP 请求以获取有关来自最终用户请求的更多信息。