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 日志等),并将这些数据实时传输至观测云平台进行深度分析。借助观测云强大的数据处理能力和可视化工具,用户可以快速识别网络流量中的异常行为、性能瓶颈以及安全威胁,从而实现对网站和应用的实时监控与优化,提升整体运维效率和安全性。

相关推荐
DataGear4 小时前
如何在DataGear 5.4.1 中快速制作SQL服务端分页的数据表格看板
javascript·数据库·sql·信息可视化·数据分析·echarts·数据可视化
王小王-1236 小时前
基于Hadoop的京东厨具商品数据分析及商品价格预测系统的设计与实现
hadoop·数据分析·京东厨具·厨具分析·商品分析
真智AI8 小时前
AI智能体时代来临:数据分析的变革与自动化之路
人工智能·数据分析·自动化
程序员阿超的博客9 小时前
Python 数据分析与机器学习入门 (五):Matplotlib 数据可视化基础
python·信息可视化·数据分析·matplotlib·数据可视化·python教程·pyplot
蓝婷儿15 小时前
Python 数据分析与可视化 Day 14 - 建模复盘 + 多模型评估对比(逻辑回归 vs 决策树)
python·数据分析·逻辑回归
好开心啊没烦恼16 小时前
Python:线性代数,向量内积谐音记忆。
开发语言·python·线性代数·数据挖掘·数据分析
过期的秋刀鱼!17 小时前
用“做饭”理解数据分析流程(Excel三件套实战)
数据挖掘·数据分析·excel·powerbi·数据分析入门
大数据CLUB19 小时前
基于spark的航班价格分析预测及可视化
大数据·hadoop·分布式·数据分析·spark·数据可视化
程序员阿超的博客21 小时前
Python 数据分析与机器学习入门 (八):用 Scikit-Learn 跑通第一个机器学习模型
python·机器学习·数据分析·scikit-learn·入门教程·python教程