跳转到内容
搜索文档

Splunk

最后更新 查看 MarkdownAgent 设置

本教程说明如何使用 Cloudflare App for Splunk 分析 Cloudflare Logs

前提条件

在将 Cloudflare 日志数据发送到 Splunk 之前,请确保:

  • 拥有现有的 Splunk Enterprise 或 Cloud 账户
  • 拥有 Cloudflare Enterprise 账户
  • 查阅 Splunk 文档 了解 Cloudflare App

任务 1 - 安装并配置 Cloudflare App for Splunk

要安装 Cloudflare App for Splunk

  1. 登录 Splunk 实例。
  2. Apps(应用) > Find More Apps(查找更多应用) 下,搜索 Cloudflare App for Splunk
  3. 点击 Install(安装)
Splunk 网站展开 Apps 菜单,显示 Search & Reporting 菜单项以及 Cloudflare App for Splunk
  1. 重启并重新打开 Splunk 实例。

  2. 编辑 Cloudflare App for Splunk 中的 cloudflare:json source type。要编辑 source type:

    1. 点击 Settings(设置) 下拉菜单并选择 Source types(源类型)
    2. 取消勾选 Show only popular(仅显示常用) 并搜索 cloudflare
    3. 点击 Edit(编辑) 并将 Regex 表达式更改为 ([\r\n]+)
    4. 保存编辑。
  3. 在 Splunk 上创建 index 以存储 HTTP Event 日志。要创建 index:

    1. 点击 Settings(设置) 下拉菜单打开设置屏幕,然后点击 Indexes(索引)
    2. 选择 New Index(新建索引)。请注意,Indexes(索引) 页面还会显示所有现有 index 的状态,以便您了解是否即将用完许可空间。
    3. 将 index 命名为 cloudflare,这是 Cloudflare App 将使用的默认 index。
  4. 在 Splunk 上设置 HTTP Event Collector(HEC)。要创建 HEC:

    1. 点击 Settings(设置) 下拉菜单并选择 Data inputs(数据输入)
    2. 点击 +Add new(+添加新项) 并按照向导操作。出现提示时,提交以下响应:
      • Name: Cloudflare
      • Source Type: Select > "cloudflare:json"
      • App Context: Cloudflare App for Splunk (cloudflare)
      • Index: cloudflare
    3. 向导结束时,您会看到 Token Value(令牌值)。此令牌授权 Cloudflare Logpush 作业将数据发送到 Splunk 实例。如果忘记现在复制,Splunk 允许您随时获取该值。
  5. 验证 Splunk 是否使用自签名证书。创建 Logpush 作业时需要此信息。

  6. 确定用于发送数据的端点。端点应为:

"<protocol>://input-<host>:<port>/<endpoint>" or "<protocol>://http-inputs-<host>:<port>/<endpoint>"

其中:

  • protocol:HTTP 或 HTTPS
  • input:根据您使用的是自助服务还是托管云计划,使用 inputhttp-inputs
  • host:Splunk 实例的主机名。确定主机名的最简单方法是查看登录 Splunk 时访问的 URL。
  • port:443 或 8088
  • endpoint:services/collector/raw

例如:https://prd-p-0qk3h.splunkcloud.com:8088/services/collector/raw。有关更多详情和示例,请参阅 Splunk 文档

安装后说明

初始配置后,您可以点击 Settings(设置) 下拉菜单并导航到 Advanced search(高级搜索) 来更改 Index Name(索引名称)。在那里可以选择 Search macros(搜索宏) 并查找 Cloudflare App for Splunk。

Splunk 界面突出显示 Apps 菜单和 Manage Apps 选项以及 Enable Acceleration 复选框

Cloudflare App for Splunk 附带自定义 Cloudflare Data Model,加速时间范围为 1 天,但默认未加速。如果启用 Data Model acceleration,我们建议 Data Model 仅加速 1 或 7 天,以确保 Splunk 环境中没有不利影响。

初始配置后,点击 Apps(应用) 下拉菜单,然后 Manage Apps(管理应用) > Cloudflare Set Up(Cloudflare 设置) 访问应用设置页面来启用或禁用加速。

Splunk Advanced Search 页面突出显示 Search macros 和 Advanced search

您也可以通过 Settings > Data models 手动配置 Data Models。在 Splunk 文档 中了解更多关于 data model acceleration 的信息。

任务 2 - 调用 API 创建 Logpush 作业

按照 启用 Logpush 到 Splunk 上的说明创建 Logpush 作业。API 调用会创建 Logpush 作业但不会启用它。

通过 Cloudflare 仪表板或 API 启用 Logpush 作业,按照 启用 Logpush 到 Splunk 上的说明操作。通过仪表板启用:

  1. 前往 Cloudflare 仪表板并选择 Analytics & Logs(分析与日志) > Logs(日志)
  2. 选择 Edit(编辑) 并选择下方仪表板部分引用的字段,以完全填充所有表格和图表。
  3. 通过切换 Edit 链接旁的开关启用 Logpush 作业。数据需要几分钟才能填充。

要验证是否正在接收数据,在 Splunk 中搜索 index=cloudflare

任务 3 - 查看仪表板

您可以使用以下十三个(13)仪表板分析 Cloudflare 日志。

您可以在这些仪表板中使用筛选器,按日期和时间、设备类型、国家/地区、user agent、客户端 IP、hostname 等缩小分析范围,进一步帮助调试和追踪。

关于仪表板

以下概述的仪表板是 Cloudflare App for Splunk 的一部分。

Cloudflare - Snapshot

Web Traffic OverviewWeb Traffic Types:概览 Cloudflare 网络上网站和应用程序的最重要指标。 显示 Web Traffic Overview 指标的 Splunk 仪表板

Cloudflare - Reliability

SummaryDetailed:了解网站和应用程序的可用性。指标包括源站响应错误比率、源站响应状态随时间变化、3xx/4xx/5xx 错误百分比随时间变化等。 显示可靠性指标高层摘要的 Splunk 仪表板

显示可靠性指标详细摘要的 Splunk 仪表板

Cloudflare - Security

Overview:了解网站和应用程序面临的威胁,包括阻止的威胁数量、威胁随时间变化、主要威胁国家/地区等。 显示安全指标概览的 Splunk 仪表板

WAF:了解 Web Application Firewall 识别和缓解的威胁,包括 SQL 注入、XSS 等事件。使用此数据微调防火墙,针对明显威胁并防止误报。 显示 WAF 安全指标概览的 Splunk 仪表板

Rate Limiting:了解速率限制防护,抵御拒绝服务攻击、暴力破解登录尝试以及针对网站或应用程序的其他滥用行为。 显示 Rate Limiting 安全指标概览的 Splunk 仪表板

Bots SummaryBots Detailed:调查网站上的 bot 活动,防止内容抓取、结账欺诈、垃圾注册和其他恶意活动。 显示 Bots 安全指标高层摘要的 Splunk 仪表板

显示 Bots 安全指标详细摘要的 Splunk 仪表板

Cloudflare - Performance

Requests and CacheBandwidth:识别并解决性能问题和缓存配置错误。指标包括总带宽与缓存带宽、节省的带宽、总请求数、缓存比率、主要未缓存请求等。 显示 Requests 与 Cache 性能指标的 Splunk 仪表板

显示 Bandwidth 性能指标的 Splunk 仪表板

Hostname, Content Type, Request Methods, Connection Type:了解最受欢迎的主机名、最常请求的内容类型、请求方法细分和连接类型。

显示包括 Hostname、Content Type、Request Methods、Connection Type 在内的 Cloudflare 性能指标的 Splunk 仪表板

Static vs. Dynamic Content:了解静态和动态内容的性能,包括最慢的 URL。 显示静态与动态内容 Cloudflare 性能指标的 Splunk 仪表板

筛选器

所有仪表板都有一组可应用于整个仪表板的筛选器,如下例所示。筛选器应用于整个仪表板。

Splunk 仪表板中可用的仪表板筛选器

您可以使用筛选器深入查看数据。筛选器包括客户端国家/地区、客户端设备类型、客户端 IP、客户端请求 host、客户端请求 URI、客户端请求 user agent、边缘响应状态、源站 IP 和源站响应状态。

默认时间间隔设置为 24 小时。请注意,为正确计算,筛选器需要排除 Worker 子请求(WorkerSubrequest = false)和 purge 请求(ClientRequestMethod 不是 PURGE)。

可用筛选器:

  • Time Range (EdgeStartTimestamp)

  • Client Country

  • Client Device type

  • Client IP

  • Client Request Host

  • Client Request URI

  • Client Request User Agent

  • Edge response status

  • Origin IP

  • Origin Response Status

  • RayID

  • Worker Subrequest

  • Client Request Method

调试技巧

仪表板不完整

Splunk Cloudflare App 依赖下方列出的 Cloudflare Enterprise Logs 字段的数据。根据您启用的字段,某些仪表板可能无法完全填充。

如果是这种情况,请验证并测试每个仪表板下方的 Cloudflare App 筛选器(这些筛选器在所有仪表板中相同)。您可以删除不需要的筛选器,即使此类筛选器包含日志中已有的数据字段。

此外,您可以将 Cloudflare Logs 中获得的字段列表与 Splunk > Settings > Data Model > Cloudflare 中列出的字段进行比较。

可用字段:

  • CacheCacheStatus

  • CacheResponseBytes

  • CacheResponseStatus (deprecated)

  • ClientASN

  • ClientCountry

  • ClientDeviceType

  • ClientIP

  • ClientIPClass

  • ClientRequestBytes

  • ClientRequestHost

  • ClientRequestMethod

  • ClientRequestPath

  • ClientRequestProtocol

  • ClientRequestReferer

  • ClientRequestURI

  • ClientRequestUserAgent

  • ClientSSLCipher

  • ClientSSLProtocol

  • ClientSrcPort

  • EdgeColoCode

  • EdgeColoID

  • EdgeEndTimestamp

  • EdgePathingOp

  • EdgePathingSrc

  • EdgePathingStatus

  • EdgeRequestHost

  • EdgeResponseBytes

  • EdgeResponseContentType

  • EdgeResponseStatus

  • EdgeServerIP

  • EdgeStartTimestamp

  • OriginIP

  • OriginResponseStatus

  • OriginResponseTime

  • OriginSSLProtocol

  • RayID

  • SecurityAction

  • SecurityActions

  • SecurityRuleDescription

  • SecurityRuleID

  • SecurityRuleIDs

  • SecuritySources

  • WAFFlags

  • WAFMatchedVar

  • WorkerSubrequest

  • ZoneID

这篇文档对您有帮助吗?