Cloudflare Logpush
Cloudflare Logpush 会自动将 HTTP 请求日志发送到 Ahrefs。 对于高流量网站,这是推荐的方法,但需要 Cloudflare 企业版套餐。
前提条件
- 您要监控的 zone 已开通 Cloudflare 企业版套餐。
- 一个具有以下权限的 Cloudflare API 令牌:
- 区域 → 区域 → 读取
- Zone → Logs → Edit
获取 Cloudflare API 令牌
请确保您已使用正确的账户登录 Cloudflare Dashboard。 然后前往 https://dash.cloudflare.com/profile/api-tokens 页面,找到并点击右上角的 Create Token 按钮:
现在继续进行 创建自定义令牌 流程:
填写以下信息:
- API 令牌名称:ahrefs-bot-analytics
- 授予以下权限:
- 区域 / 日志 / 编辑,以便我们配置 Logpush 作业,将日志推送至 Ahrefs Bot Analytics
- 区域 / 区域 / 读取,以便我们找到要配置的区域
- 区域资源可以设置为 包含 / 所有区域;或者选择与你的网站域名对应的区域。
现在点击 继续到摘要 按钮,摘要应如下所示:
现在点击 创建令牌 按钮,并将生成的令牌复制到剪贴板,以便在接下来的步骤中使用。
更多信息请参阅 Cloudflare 文档:如何创建 API 令牌。
自动设置
- 在 Ahrefs 中,前往项目设置 → Bot Analytics。
- 选择 Cloudflare Logpush 作为方法。
- 粘贴您的 Cloudflare API 令牌,然后点击 连接。
Ahrefs 将使用您的令牌来:
- 查找与您项目域名匹配的 zone。
- 检查是否存在现有的 Logpush 任务.
- 创建新任务,将日志发送至 Ahrefs。
info
您的令牌仅使用一次,不会被存储。
手动设置
如果您不想提供 API 令牌,也可以使用 Cloudflare API 手动设置 Logpush 任务。
第 1 步 — 获取您的 Zone ID 和 API 令牌
-
前往您的 Cloudflare Dashboard,并选择您网站的域名。
-
在右侧边栏中向下滚动至 API 部分,找到您的 Zone ID。
-
点击“获取您的 API 令牌”,并使用以下权限创建一个新令牌:
- 区域 → 区域 → 读取
- Zone → Logs → Edit
详细说明请参阅获取 API 令牌。
第 2 步 — 创建 Logpush 任务
获得 $ZONE_ID 和 $CF_TOKEN 后,运行以下命令。 您可以在 项目设置 → Bot Analytics → 手动设置 中找到已预先填入您项目详细信息的准确命令。
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/logpush/jobs" \
-X POST \
-H "Authorization: Bearer $CF_TOKEN" \
--data-binary '{
"name": "ahrefs-web-analytics-http-requests",
"destination_conf": "https://analytics.ahrefs.com/api/cf_logpush/http_requests?header_x-ahrefs-web-analytics-property=YOUR_PROPERTY_KEY",
"dataset": "http_requests",
"frequency": "high",
"filter": "{\"where\":{\"or\":[{\"key\":\"ClientRequestHost\",\"operator\":\"eq\",\"value\":\"yourwebsite.com\"},{\"key\":\"ClientRequestHost\",\"operator\":\"endsWith\",\"value\":\".yourwebsite.com\"}]}}",
"output_options": {
"field_names": [
"ClientIP", "ClientRequestMethod", "ClientRequestHost",
"ClientRequestProtocol", "ClientRequestScheme", "ClientRequestURI",
"ClientRequestPath", "ClientRequestUserAgent", "ClientRequestReferer",
"EdgeStartTimestamp", "EdgeEndTimestamp", "EdgeResponseStatus",
"EdgeResponseBytes", "EdgeResponseContentType",
"EdgeTimeToFirstByteMs", "ClientCountry", "ClientCity", "ClientASN",
"ClientDeviceType", "ClientRegionCode", "BotScore", "BotScoreSrc",
"BotTags", "VerifiedBotCategory", "RayID"
],
"timestamp_format": "unixnano"
},
"enabled": true
}'
warning
destination_conf URL 和属性键是您项目专属的。 为确保取值正确,请从您的 项目设置 → Bot Analytics 页面复制完整命令。
第 3 步 — 验证连接
创建作业后,返回 Ahrefs 中的项目设置 → 机器人分析,然后点击检查状态,验证数据是否正在被接收。