跳转到内容
搜索文档

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 name 和 Java-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 日志中包含的详细程度。支持的值为 OFF、ERROR、WARN、INFO、DEBUG、TRACE 和 ALL。提高日志级别以帮助故障排除。有关更多信息,请参阅 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

这篇文档对您有帮助吗?