突发限制

本文档介绍了适用于 Google Security Operations 资源的突发限制,特别是单个客户可以注入到 Google SecOps 中的数据量。突发限制会限制所有客户共享的资源的使用:

  • 单个客户可使用的数据注入量上限。这样可确保单个客户突然涌入的数据不会影响其他客户。
  • 监控每位客户对共享资源的使用情况。
  • 维护可自动强制执行突发限制的配置。
  • 提供请求或更改突发限制的方法。

对于突增保护,突发限制是在 5 分钟的时间段内衡量的。这不是每日提取量限额。

每位客户的突发限额增加

如果您打算快速提高数据注入速率,我们可以帮助您预先规划,确保数据注入保持稳定。如需申请提高突发上限,请提前与 Google SecOps 技术支持团队联系。

突发限制概览

突发限制会限制一位客户可以向 Google SecOps 发送的数据量。这可确保公平性,并防止任何单个客户的提取量激增对其他客户造成影响。突发限制可确保客户数据注入顺利进行,并且可以通过支持服务工单主动调整。 为了应用突发限制,Google SecOps 会根据提取量使用以下分类:

突发限制 达到每秒突发上限时的年等效数据量
20 MBps 600 TB
88 MBps 2.8 PB
350 MBps 11 PB
886 MBps 28 PB
2.6 GBps 82 PB

以下准则适用于突发限制:

  • 达到突发限制后,配置正确的提取源应设置为缓冲额外的数据。不应配置为舍弃数据。

    • 对于基于拉取的提取方式(例如 Google Cloud 和 API Feed),系统会自动缓冲提取内容,无需进行额外配置。
    • 对于基于推送的注入方法(例如转发器、Webhook 和 API 注入),请将系统配置为在达到突发限制时自动重新发送数据。对于 Bindplane 和 Cribl 等系统,请设置缓冲以高效处理数据溢出。
  • 在达到突发上限之前,您可以提高该上限。

  • 如需确定您是否接近突发限额,请参阅查看突发限额用量

查看突增限制用量

您可以使用 Google SecOps 或 Cloud Monitoring 查看突发限制用量。

使用 Google SecOps 信息中心查看突发限制

如需查看限制用量,请使用 Google SecOps 数据注入和健康状况信息中心内的以下可视化图表:

  • 突发限制图表 - 提取率:显示提取率。
  • 突发限制图 - 配额限制:显示配额限制。
  • 突发拒绝图:显示因超出突发限制而被拒绝的日志量。

如需查看可视化图表,请执行以下操作:

  1. 在 Google SecOps 菜单中,选择信息中心
  2. 默认信息中心部分中,选择数据注入和健康状况

    数据注入和健康状况信息中心内,您可以查看可视化图表。

使用 Cloud Monitoring 查看突发限制

如需在 Google Cloud 控制台中查看 Google SecOps 突发限制,您需要拥有与任何 Google Cloud 限制相同的权限。如需了解详情,请参阅授予对 Cloud Monitoring 的访问权限

如需了解如何使用图表查看指标,请参阅使用 Metrics Explorer 创建图表

如需查看突发限额用量,请使用以下 PromQL 查询:

100 * sum(rate(chronicle_googleapis_com:ingestion_log_bytes_count
{monitored_resource="chronicle.googleapis.com/Collector"}[10m]))/min(min_over_time(chronicle_googleapis_com:ingestion_quota_limit{monitored_resource="chronicle.googleapis.com/Collector"}[10m]))

如需查看超出突发限制后被拒绝的字节数,请使用以下 PromQL 查询:

sum(rate(chronicle_googleapis_com:ingestion_log_quota_rejected_bytes_count{monitored_resource="chronicle.googleapis.com/Collector"}[15m]))

如需在摄取字节数超过突发限制的 70% 时创建提醒,请使用以下 PromQL 查询:

100 * sum(rate(chronicle_googleapis_com:ingestion_log_bytes_count
{monitored_resource="chronicle.googleapis.com/Collector"}[10m]))/
min(min_over_time(chronicle_googleapis_com:ingestion_quota_limit{monitored_resource="chronicle.googleapis.com/Collector"}[10m])) > 70

在注入源处缓冲数据

下表介绍了根据您的数据提取来源,缓冲(而非舍弃)企业数据所需的配置。

注入来源 缓冲配置
Google Cloud 和 Chronicle API Feed 自动提供缓冲
转发器、Webhook 和 API 提取 配置重试
BindplaneCriblForwarder 配置持久队列

问题排查

避免超出限制的策略

以下准则有助于您避免超出突发限制:

  • 创建提取提醒,以便在提取的字节数超出突发限制阈值时收到通知。如需详细了解如何设置数据提取提醒,请参阅使用 Cloud Monitoring 获取数据提取通知
  • 如需确定注入来源和注入量,请使用 collector_idlog_type 以及指标 chronicle.googleapis.com/ingestion/log/bytes_count 创建监控提醒。如需确定注入来源和注入量,请使用以下 PromQL 查询:

    sum by (collector_id,log_type)(rate(chronicle_googleapis_com:ingestion_log_bytes_count{monitored_resource="chronicle.googleapis.com/Collector"}[5m]))
    
  • 如果您预计您的提取量会比正常提取量增加四倍以上,请提前与 Google SecOps 技术支持团队联系,以提高您的突发限制。

  • 如果您使用 Google SecOps 转发器来注入数据,则可以在超出突发限制时使用磁盘缓冲区来缓冲数据。如需了解详情,请参阅使用转发器的磁盘缓冲区

处理突发限制事件

如果您达到突发限制,请针对您的提取方法执行以下操作:

注入模式 建议采取的措施
Ingestion API 等待用量降至突增限额以下。如果您想尽快恢复数据提取,请与 Google SecOps 技术支持团队联系。
Feed 管理 等待用量降至突增限额以下。如果您想尽快恢复数据提取,请与 Google SecOps 技术支持团队联系。
转发器 当您超出突发限制时,使用磁盘缓冲区来缓冲数据。
使用 Amazon Data Kinesis、Pub/Sub 或 Webhook 的 HTTPS 推送提取。 确保将保留时间设置为尽可能大的值。 例如,如需设置 Pub/Sub 的保留时间,请参阅配置订阅消息保留

使用转发器的磁盘缓冲区

如果您使用 Google SecOps SIEM 转发器,建议您开始使用磁盘缓冲区,以便在超出突发限制时缓冲数据。收集器使用的 RAM 大小上限为 4 GB。 您可以使用收集器配置中的 max_file_buffer_bytes 设置来设置此限制。如需缓冲超过 4 GB 的数据,请使用磁盘缓冲区。如需确定磁盘缓冲区空间,请使用以下 MQL 查询来确定转发器注入的速率:

sum(rate(chronicle_googleapis_com:ingestion_log_bytes_count
{monitored_resource="chronicle.googleapis.com/Collector", collector_id!~ "
(aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa
|bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb
|cccccccc-cccc-cccc-cccc-cccccccccccc
|dddddddd-dddd-dddd-dddd-dddddddddddd
|aaaa2222-aaaa-2222-aaaa-2222aaaa2222)"}[5m]))

例如,如果转发器的提取速率为 415 Kbps,且缓冲区压缩效率为 70%,则缓冲区填充速率的计算公式为:415 Kbps x (100% - 70%) = 124.5 Kbps。按此速率,1 GB 的缓冲区空间(默认的内存中缓冲区值)会在 2 小时 20 分钟内填满。计算结果为 1024 x 1024 / 124.5 = 8422.297 秒 = 2 小时 20 分钟。如果您已超出突发上限,则需要 100 GB 的磁盘来缓冲一天的数据。

常见问题解答

超出突发限制时会触发什么错误?

当您超出突发限制时,会收到 HTTP 429 错误。

如何解决 HTTP 429 错误?

请在 5 分钟后重试请求。

突发限制多久刷新一次?

突发限额每 5 分钟刷新一次。