将 Cloudflare 日志推送到 Elastic 以获得即时可见性与洞察。启用与 Elastic 的此集成后,附带预定义仪表板,可轻松查看所有 Cloudflare 可观测性与安全数据。
Cloudflare Logpush 集成可通过三种不同模式收集数据:
- HTTP Endpoint 模式 — Cloudflare 直接将日志推送到 Elastic Agent 托管的 HTTP 端点。
- AWS S3 polling 模式 — Cloudflare 将数据写入 S3,Elastic Agent 通过列出内容并读取新文件来轮询 S3 bucket。
- AWS S3 SQS 模式 — Cloudflare 将数据写入 S3,S3 将新对象通知推送到 SQS,Elastic Agent 从 SQS 接收通知后读取 S3 对象。此模式可使用多个 Agent。
确定要使用的方法,并在 Cloudflare 仪表板或通过 API 配置相应的 Logpush 任务。
Elastic 支持默认 JSON 格式。
要将日志推送到对象存储以进行短期存储与缓冲,然后再摄取到 Elastic(推荐),请按照说明配置 Logpush 任务,将日志推送到 AWS S3、Google Cloud Storage 或 Azure Blob Storage。
要使用 HTTP Endpoint 模式,请使用 API 将日志推送到 Elastic Agent 支持的 HTTP 端点。
为增强安全性,请在两侧添加相同的自定义 header 及其值。
例如,为特定数据集创建任务时附带 header 与值:
Required API token permissions
At least one of the following token permissions is required:Logs Write
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/logpush/jobs" \
--request POST \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"name": "<PUBLIC_DOMAIN>",
"destination_conf": "https://<PUBLIC_DOMAIN>:<PUBLIC_PORT>?header_<SECRET_HEADER>=<SECRET_VALUE>",
"dataset": "http_requests",
"output_options": {
"field_names": [
"RayID",
"EdgeStartTimestamp"
],
"timestamp_format": "rfc3339"
}
}'配置 Logpush 任务后,请按照 Elastic 应用中的设置集成 ↗说明操作。
登录 Elastic 账户 ↗ 查看预构建仪表板并配置告警。