突发限制
本文档介绍了适用于 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 数据注入和健康状况信息中心内的以下可视化图表:
- 突发限制图表 - 提取率:显示提取率。
- 突发限制图 - 配额限制:显示配额限制。
- 突发拒绝图:显示因超出突发限制而被拒绝的日志量。
如需查看可视化图表,请执行以下操作:
- 在 Google SecOps 菜单中,选择信息中心。
在默认信息中心部分中,选择数据注入和健康状况。
在数据注入和健康状况信息中心内,您可以查看可视化图表。
使用 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 提取 | 配置重试 |
Bindplane、Cribl 和 Forwarder | 配置持久队列 |
问题排查
避免超出限制的策略
以下准则有助于您避免超出突发限制:
- 创建提取提醒,以便在提取的字节数超出突发限制阈值时收到通知。如需详细了解如何设置数据提取提醒,请参阅使用 Cloud Monitoring 获取数据提取通知。
如需确定注入来源和注入量,请使用
collector_id
和log_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 分钟刷新一次。