跳转到内容
搜索文档

Graylog

最后更新 查看 MarkdownAgent 设置

本教程说明如何使用 Graylog 分析 Cloudflare Logs

概览

如果您之前未使用过 Cloudflare Logs,请访问我们的 Logs 文档 了解更多详情。联系 Cloudflare 客户账户团队为您的账户启用日志。

前提条件

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

  • 拥有现有的 Graylog 安装。支持单节点和集群配置
  • 拥有启用了 Cloudflare Logs 的 Cloudflare Enterprise 账户
  • 已配置 Logpush

任务 1 - 准备工作

在将 Cloudflare 日志导入 Graylog 之前:

  1. 配置 Cloudflare Logpush,将所有所需字段的日志推送到您选择的 AWS S3 存储桶。
  2. 下载最新的 Graylog Integration for Cloudflare
  3. 解压缩 zip 文件。

解压缩后,集成包包括:

  • graylog-s3-lambda.jar
  • content-packs/cloudflare/cloudflare-logpush-content-pack.json
  • content-packs/cloudflare/threat-lookup.csv

任务 2 - 创建并配置 AWS Lambda Function

  1. 在 AWS Web 控制台中导航到 Lambda 服务页面。
  2. 创建新的 Lambda 函数,指定您选择的 function nameJava-8 runtime
  3. 创建或指定具有以下权限的执行角色。您也可以根据特定设置进一步限制资源权限。
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "Policy",
      "Effect": "Allow",
      "Action": [
        "logs:CreateLogGroup"
        "s3:GetObject",
        "logs:CreateLogStream",
        "logs:PutLogEvents"
      ],
      "Resource": [
        "arn:aws:logs:your-region:your-account-number:*",
        "arn:aws:s3:your-region::cloudflare-bucket-name/*"
      ]
    }
  ]
}

注意: 如果您的 Graylog 集群在 VPC 中运行,可能需要添加 AWSLambdaVPCAccessExecutionRole 托管角色,以允许 Lambda 函数 将流量路由到 VPC。

  1. 创建 Lambda 函数 后,上传在任务 1 中下载的 function 代码 graylog-s3-lambda.jar。为 Handler 指定以下方法:org.graylog.integrations.s3.GraylogS3Function::handleRequest

  2. 至少指定以下必需的环境变量,为 Graylog 集群配置 Lambda 函数:

    • CONTENT_TYPE(必需)- application/x.cloudflare.log 值,表示 Lambda 函数 将处理 Cloudflare 日志。

    • COMPRESSION_TYPE (必需 ) - gzip,因为 Cloudflare 日志是 gzip 压缩的。

    • GRAYLOG_HOST (必需) - Graylog 主机或集群负载均衡器的主机名或 IP 地址。

    • GRAYLOG_PORT (可选 - 默认为 12201) - Graylog 服务端口。

    • CONNECT_TIMEOUT (可选 - 默认为 10000) - 等待建立连接的毫秒数。

    • LOG_LEVEL (可选 - 默认为 INFO) - Lambda 函数 生成的 CloudWatch 日志中包含的详细程度。支持的值为 OFFERRORWARNINFODEBUGTRACEALL。提高日志级别以帮助故障排除。有关更多信息,请参阅 Defining Custom Log Levels in Code

    • CLOUDFLARE_LOGPUSH_MESSAGE_FIELDS (可选 - 默认为全部) - 从消息中解析的字段。以逗号分隔的字段名称列表指定。

    • CLOUDFLARE_LOGPUSH_MESSAGE_SUMMARY_FIELDS (可选 - 默认为 ClientRequestHost, ClientRequestPath, OriginIP, ClientSrcPort, EdgeServerIP, EdgeResponseBytes) - 包含在 Graylog 每条消息顶部解析字段上方消息摘要中的字段。以逗号分隔的字段名称列表指定。 所需 Graylog 环境变量列表

      注意: Graylog Lambda S3 README 文件中提供了更多配置变量,用于微调 function 配置。

  3. 为 Lambda 函数 创建 AWS S3 Trigger,以便 function 可以处理写入的每个 Cloudflare 日志字段。指定任务 1 中的相同 S3 存储桶,并选择 All object create events 选项。可以在此处应用任何其他所需的文件筛选器。 带有 AWS S3 Trigger 示例的添加触发器对话框

  4. 如果您的 Graylog 集群位于 VPC 内,您需要配置 Lambda 函数 以访问 VPC 中的资源。您可能还需要为 AWS S3 服务创建 VPC endpoint。这允许 Lambda 函数 在 VPC 中运行时直接访问 S3。

任务 3 - 在 Graylog 中导入 content pack

将 Cloudflare Logpush content pack 导入 Graylog 会加载接收 Cloudflare 日志所需的配置并安装 Cloudflare 仪表板。

content pack 安装以下组件:

  • Cloudflare 仪表板(任务 4)。
  • Cloudflare GELF (TCP) input,允许 Graylog 接收 Cloudflare 日志。
  • Cloudflare message stream
  • 帮助处理和解析 Cloudflare 日志字段的 Pipeline 规则。

要导入 content pack:

  1. 找到在任务 1 中下载并解压的 cloudflare-logpush-content-pack.json 文件。

  2. 在 Graylog 中,前往 System(系统) > Content Packs(内容包),点击右上角的 Upload(上传)。上传后,Cloudflare Logpush 内容包会出现在已上传内容包列表中。 上传 Graylog content packs

  3. 点击 Install(安装)安装 Graylog content packs

  4. Install 对话框中,输入可选的安装注释,并验证所有配置参数都输入了正确的值。

    在 Install Dialog 屏幕中添加安装注释并配置参数
  5. 安装后,Graylog 集群即可从 Lambda 函数接收 Cloudflare 日志。

有关更多信息和故障排除技巧,请参阅 Graylog Lambda S3 README

任务 4 - 查看 Cloudflare 仪表板

您可以在 Graylog Cloudflare 集成页面 查看仪表板。仪表板包括:

Cloudflare - Snapshot

这是 Cloudflare 网络上网站和应用程序最重要指标的概览。您可以使用仪表板筛选器进一步细分信息,进行事件和趋势的细粒度分析。

使用此仪表板:

  • 监控 Cloudflare 网络上网站和应用程序最重要的 Web 流量指标
  • 查看流量来自哪些国家/地区和 IP,并分析移动端与桌面端流量、协议、方法和内容类型的细分
在 Graylog 仪表板中可视化 Cloudflare 日志指标

Cloudflare - Security

此概览提供网站和应用程序面临威胁的洞察,包括阻止的威胁数量、威胁随时间变化、主要威胁国家/地区等。

使用此仪表板:

  • 监控网站和应用程序最重要的安全和威胁指标
  • 微调和配置 IP 防火墙
在 Graylog 仪表板中可视化 Cloudflare 威胁流量分析

Cloudflare - Performance

此仪表板帮助识别并解决性能问题和缓存配置错误。指标包括总带宽与缓存带宽、节省的带宽、总请求数、缓存比率、主要未缓存请求等。

使用此仪表板:

  • 监控缓存行为并识别配置错误
  • 改进配置和缓存比率
在 Graylog 仪表板中可视化 Cloudflare 性能指标

Cloudflare - Reliability

此仪表板提供网站和应用程序可用性的洞察。指标包括源站响应错误比率、源站响应状态随时间变化、3xx/4xx/5xx 错误百分比随时间变化等。

使用此仪表板:

  • 通过查看边缘和源站响应状态码调查网站和应用程序的错误
  • 根据国家/地区、客户端 IP、hostname 和其他指标进一步分析基于状态码的错误
Graylog 仪表板 Cloudflare Reliability

Cloudflare - Bots

使用此仪表板检测并缓解恶意 bot,防止凭据填充、垃圾注册、内容抓取、点击欺诈、库存囤积和其他恶意活动。

使用此仪表板:

  • 调查网站上的 bot 活动,防止内容抓取、结账欺诈、垃圾注册和其他恶意活动。
  • 利用洞察调整 Cloudflare,防止 bot 在网站、应用程序和 API 端点上过度使用和滥用。
Graylog 仪表板 Cloudflare Bot Management

这篇文档对您有帮助吗?