Cloudflare 日志采集和分析最佳实践

Cloudflare

Cloudflare 是一家全球领先的互联网性能和安全公司,提供一系列广泛的服务,包括内容分发网络(CDN)、域名系统(DNS)优化、DDoS 防护、Web 应用防火墙、SSL/TLS 加密等,旨在帮助网站和在线服务提升性能、增强安全性和可靠性,同时降低延迟和成本。通过其全球分布式网络,Cloudflare 能够快速缓存和分发内容,抵御网络攻击,并为用户提供简化的网站管理体验。

Cloudflare Logpush 是 Cloudflare 提供的一种强大的日志推送服务,能够将各种日志数据推送到用户指定的目标位置,帮助用户更好地分析和监控其网络流量、安全事件和应用性能。

核心功能

  • 日志推送:Logpush 可以将 Cloudflare 网络边缘捕获的事件日志推送到用户配置的目标,如云存储服务(Amazon S3、Google Cloud Storage 等)、日志管理平台(观测云、Datadog、Elastic、Splunk 等)。
  • 支持多种日志类型:涵盖 HTTP 请求、Web 应用防火墙(WAF)、访问请求、审计日志、DNS 等多种日志类型。
  • 灵活的目标配置:用户可以将日志推送到多种目标,包括但不限于云存储服务、SIEM 系统、HTTP 端点等。
  • 过滤和采样功能:用户可以通过配置过滤器和采样率,仅推送符合特定条件的日志,减少数据量。
  • 实时性和持久化:Logpush 提供了实时日志推送功能,同时支持将日志持久化存储到目标位置,方便后续分析。
  • 高效性:通过过滤和采样功能,减少不必要的数据传输,提高效率。

观测云

观测云是一款专为 IT 工程师打造的全链路可观测产品,它集成了基础设施监控、应用程序性能监控和日志管理,为整个技术栈提供实时可观察性。这款产品能够帮助工程师全面了解端到端的用户体验追踪,了解应用内函数的每一次调用,以及全面监控云时代的基础设施。此外,观测云还具备快速发现系统安全风险的能力,为数字化时代提供安全保障。

实践步骤

准备工作

在 Logpush 配置 HTTP Destination 时有三个请求参数需要填写:

  • source:作为中心的数据源标签,目前支持两种:http_requestsdns_logs
  • domain:作为服务标签,建议使用域名,例如:domain=domain.com
  • token:请求 token
  • endpoint:上报平台节点,可以登录空间进行复制

HTTP Request 数据上报配置

HTTP 请求日志,在配置目标地址时,要配置请求的类型: "source=http_requests"。

创建作业

  1. 登录 Cloudflare 仪表板 → 选择目标网站 → 导航至 Analytics → Logs → 点击 Add Logpush Job
  2. 选择数据集:HTTP Requests
  3. 配置目标:HTTP Destination
  4. 填写路径:https://<endpoint>/v1/write/cf-logpush?source=http_requests&domain=<domain.com>&token=tkn_abcxxx
  5. 作业名称:符合格式即可
  6. 发送字段:用户可以自定义选择,只要不为空的字段都会解析到一级字段
  7. 高级选项:选择时间格式为纳秒单位 unixnano

注意:填写目标路径的时候一定要填写 source、domain、token 否测数据无法按照类型进行筛选,高级选项一定要使用纳秒时间单位。

DNS 请求日志上报配置

操作步骤与 HTTP 请求类似。但是注意,在配置目标地址时,要配置请求类型:"source=dns_logs"。

创建作业

  1. 登录 Cloudflare 仪表板 → 选择目标网站 → 导航至 Analytics → Logs → 点击 Add Logpush Job
  2. 选择数据集:DNS Logs
  3. 配置目标:HTTP Destination
  4. 填写路径:https://<endpoint>/v1/write/cf-logpush?source=dns_logs&domain=<domain.com>&token=tkn_abcxxx
  5. 作业名称:符合格式即可
  6. 发送字段:可以全选,目前中心全部支持解析到一级字段
  7. 高级选项:选择时间格式为纳秒单位

注意:填写目标路径的时候一定要填写 source、domain、token 否测数据无法按照类型进行筛选,高级选项一定要使用纳秒时间单位。

添加完成后,如下图所示:

场景视图

登录观测云控制台,点击「场景」 -「新建仪表板」,输入 "CloudFlare", 选择 "CloudFlare",点击 "确定" 即可添加视图。

视图分为两个组,分别是 HTTP Request 和 DNS 。

总结

观测云通过集成 Cloudflare 的日志推送功能(Logpush),能够高效采集 Cloudflare 的各类日志数据(如 HTTP 请求日志、DNS 日志等),并将这些数据实时传输至观测云平台进行深度分析。借助观测云强大的数据处理能力和可视化工具,用户可以快速识别网络流量中的异常行为、性能瓶颈以及安全威胁,从而实现对网站和应用的实时监控与优化,提升整体运维效率和安全性。

相关推荐
charlee447 小时前
PandasAI连接LLM进行智能数据分析
ai·数据分析·llm·pandasai·deepseek
Re_Yang0912 小时前
数学专业转型数据分析竞争力发展报告
数据挖掘·数据分析
workflower12 小时前
数据分析前景
算法·数据挖掘·数据分析·需求分析·软件需求
我要学习别拦我~13 小时前
kaggle分析项目:steam付费游戏数据分析
python·游戏·数据分析
海哥编程14 小时前
Python 数据分析(二):Matplotlib 绘图
python·数据分析·matplotlib
Watermelo6171 天前
极致的灵活度满足工程美学:用Vue Flow绘制一个完美流程图
前端·javascript·vue.js·数据挖掘·数据分析·流程图·数据可视化
Watermelo6171 天前
Web Worker:让前端飞起来的隐形引擎
前端·javascript·vue.js·数据挖掘·数据分析·node.js·es6
SickeyLee2 天前
BI 系统数据看板全解析:让数据可视化驱动业务决策
信息可视化·数据挖掘·数据分析
万能的小裴同学2 天前
星痕共鸣数据分析2
c++·数据分析
Jacob02342 天前
很多数据分析师写对了 SQL,却忽略了这件更重要的事
后端·sql·数据分析