使用 Cloud Monitoring 获取提取方面的分析洞见
本文档介绍了如何使用 Cloud Monitoring 接收提取通知。Google SecOps 使用 Cloud Monitoring 发送注入通知。使用此功能可接收摄入通知并查看摄入量。您可以将电子邮件通知集成到现有工作流中。当摄入量达到某些预定义水平时,系统会触发通知。 在 Cloud Monitoring 文档中,通知称为提醒。
准备工作
熟悉 Cloud Monitoring。
验证您的 Identity and Access Management 角色是否包含角色
roles/monitoring.alertPolicyEditor
中的权限。如需详细了解角色,请参阅使用 IAM 控制访问权限。熟悉如何在 Cloud Monitoring 中创建提醒政策。如需了解这些步骤,请参阅创建指标阈值提醒政策。
配置通知渠道以通过电子邮件接收提取通知。如需了解这些步骤,请参阅创建和管理通知渠道。
为健康状况指标设置注入通知
如需设置用于监控 Google SecOps 特有的数据提取健康状况指标的通知,请执行以下操作:
在 Google Cloud 控制台中,选择 Monitoring。
在导航窗格中,选择 提醒,然后点击创建政策。
在选择指标页面上,点击选择指标。
在选择指标菜单中,点击以下任一选项:
- 有效切换开关,以过滤并仅显示过去 25 小时内有数据的资源和指标。如果您不选择此选项,系统会列出所有资源和指标类型。
- 组织/文件夹级切换开关,以监控组织和文件夹的资源及指标,例如使用方配额用量或 BigQuery 槽分配。
选择以下任意指标:
依次选择 Chronicle Collector > Ingestion,然后选择已提取的日志总数或已提取的日志总大小。
依次选择 Chronicle Collector > Normalizer,然后选择记录总数或事件总数。
依次选择 Chronicle 日志类型 > Outofband,然后选择提取的日志总数(Feed)或提取的日志总大小(Feed)。
点击应用。
添加过滤条件
在选择指标页面上,点击添加过滤条件。
在过滤条件对话框中,选择 collector_id 标签、比较条件和过滤条件值。
选择以下一个或多个过滤条件:
project_id:与此资源关联的 Google Cloud 项目的 ID。
位置:包含收集器对象的集群的实际位置。 我们建议您不要使用此字段。如果您将此字段留空,Google SecOps 可以使用现有信息自动确定数据的存储位置。
collector_id:收款方的 ID。
log_type:日志类型的名称。
指标标签 > 命名空间:日志的命名空间。
feed_name:Feed 的名称。
LogType:日志类型。
指标标签 > event_type:事件类型决定了事件中包含哪些字段。事件类型包括
PROCESS_OPEN
、FILE_CREATION
、USER_CREATION
和NETWORK_DNS
等值。指标标签 > 状态:事件或日志的最终状态。状态可以是以下选项之一:
parsed
:日志已成功解析。validated
。日志已成功通过验证。failed_parsing
。日志存在解析错误。failed_validation
。日志存在验证错误。failed_indexing
。日志中存在批量索引编制错误。
指标标签 > drop_reason_code:如果提取源是 Google SecOps Forwarder,则会填充此字段,并指明在归一化期间丢弃日志的原因。
指标标签 > ingestion_source:使用 Ingestion API 提取日志时,提取标签中存在的提取来源。
选择一个特殊收集器 ID。
collector_id
也可以是转发器 ID 或基于提取方法的特殊 ID:- aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa:
表示使用 Feed 管理 API 或页面创建的所有 Feed。如需详细了解 Feed 管理,请参阅 Feed 管理和 Feed 管理 API。 aaaa1111-aaaa-1111-aaaa-1111aaaa1111:
表示收集代理,包括 Bindplane(Google 版)。aaaa1111-aaaa-1111-aaaa-1111aaaa1112:
Bindplane Enterprise(Google 版)。aaaa1111-aaaa-1111-aaaa-1111aaaa1113:
Bindplane Enterprise。aaaa1111-aaaa-1111-aaaa-1111aaaa1114:
无头收集器。aaaa2222-aaaa-2222-aaaa-2222aaaa2222:通过 HTTPS 推送方法提取的日志,包括 Webhook、Amazon Kinesis Firehose 和 Google Cloud Pub/Sub 源类型 Feed。
aaaa3333-aaaa-3333-aaaa-3333aaaa3333:
Cloud Storage 日志,包括通过 Event Threat Detection 提取的日志。aaaa4444-aaaa-4444-aaaa-4444aaaa4444:
通过 Azure 事件中心 Feed 集成提取的日志。这包括 Microsoft Azure 事件中心来源类型的 Feed。bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb:
表示使用 Ingestion APIunstructuredlogentries
方法的所有提取来源。如需详细了解 Ingestion API,请参阅 Google SecOps Ingestion API。cccccccc-cccc-cccc-cccc-cccccccccccc:
表示使用 Ingestion APIudmevents
方法的所有提取来源。dddddddd-dddd-dddd-dddd-dddddddddddd:
表示通过内部 API 提取的任何日志,这些日志不是通过 OutOfBand (OOB) 处理器提取的,也不是通过 Google Cloud 日志提取提取的。eeeeeeee-eeee-eeee-eeee-eeeeeeeeeeee:
表示用于CreateEntities
的collector_id
。
- aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa:
在转换数据部分,执行以下操作:
- 将时间序列聚合字段设置为总和。
- 将时序分组依据字段设置为 project_id。
- 可选:设置包含多个条件的提醒政策。如需在提醒政策中创建包含多个条件的提取通知,请参阅具有多个条件的政策。
Google SecOps 转发器指标和关联的过滤条件
下表介绍了可用的 Google SecOps Forwarder 指标和关联的过滤条件。
Google SecOps 转发器指标 | 过滤 |
---|---|
容器内存用量 | log_type ,collector_id |
容器磁盘使用量 | log_type ,collector_id |
容器 cpu_used | log_type ,collector_id |
日志 drop_count | log_type 、collector_id 、input_type 、reason |
buffer_used | log_type 、collector_id 、buffer_type 、input_type |
last_heartbeat | log_type 、collector_id 、input_type |
设置示例政策以检测静默 Google SecOps 转发器
以下示例政策会检测所有 Google SecOps 转发器,并在 Google SecOps 转发器 60 分钟内未发送日志时发送提醒。 这可能不适用于您要监控的所有 Google SecOps 转发器。例如,您可以监控一个或多个 Google SecOps 转发器的单个日志源,并设置不同的阈值,或者根据 Google SecOps 转发器的报告频率排除它们。
在 Google Cloud 控制台中,选择 Monitoring。
前往 Cloud Monitoring点击创建政策。
在选择指标页面上,依次选择 Chronicle Collector > Ingestion > Total ingested log count。
点击应用。
在转换数据部分,执行以下操作:
- 将滚动窗口设置为最长 1 小时的时间*。
- 将滚动窗口函数设置为平均值。
- 将时间序列聚合设置为平均值。
- 将时序分组依据设置为 collector_id。如果未将此字段设置为按 collector_id 分组,则系统会针对每个日志来源触发提醒。
点击下一步。
选择指标缺失,然后执行以下操作:
- 将提醒触发器设置为任何时序违反。
- 将触发器缺失时间设置为最长 1 小时。
- 输入条件的名称,然后点击下一步。
在通知和名称部分中,执行以下操作:
- 在使用通知渠道字段中选择一个通知渠道。为实现冗余,我们建议您配置多个通知渠道。
- 配置突发事件关闭通知。
- 将政策用户标签设置为适当的级别。使用此设置可为政策设置提醒严重程度。
- 输入您要随提醒一起发送的任何文档。
- 输入提醒政策的名称。
向全方位政策添加排除对象
可能需要从全方位政策中排除某些 Google SecOps 转发器,因为它们可能只有少量流量,或者需要更自定义的提醒政策。
在 Google Cloud 控制台中,选择 Monitoring。
在导航页面中,选择提醒,然后在政策部分中选择要修改的政策。
在政策详情页面上,点击修改。
在修改提醒政策页面上的添加过滤条件部分下,选择添加过滤条件,然后执行以下操作:
- 选择 collector_id 标签和要从政策中排除的收集器。
- 将比较条件设置为
!=
,将值设置为要排除的collector_id
,然后点击完成。 - 对需要排除的每个收集器重复此操作。您还可以使用正则表达式,通过单个过滤条件排除多个收集器,前提是您希望使用以下格式:
(?:aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa|bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb|cccccccc-cccc-cccc-cccc-cccccccccccc)
点击保存政策。
设置示例政策以检测静默的 Google SecOps 收集代理
以下示例政策会检测所有 Google SecOps 收集代理,并在 Google SecOps 收集代理 60 分钟未发送日志时发送提醒。 此示例可能不适用于您要监控的所有 Google SecOps 收集代理。例如,您可以监控一个或多个 Google SecOps 收集代理的单个日志源,并设置不同的阈值,或者根据 Google SecOps 收集代理的报告频率排除它们。
在 Google Cloud 控制台中,选择 Monitoring。
前往 Cloud Monitoring点击创建政策。
在选择指标页面上,依次选择 Chronicle Collector > Agent > Exporter Accepted Spans Count。
点击应用。
在转换数据部分,执行以下操作:
- 将滚动窗口设置为最长 1 小时*。
- 将滚动窗口函数设置为平均值。
- 将时间序列聚合设置为平均值。
- 将时序分组依据设置为 collector_id。如果未将此字段设置为按 collector_id 分组,则系统会针对每个日志来源触发提醒。
点击下一步。
选择指标缺失,然后执行以下操作:
- 将提醒触发器设置为任何时序违反。
- 将触发器缺失时间设置为最长 1 小时*。
- 输入条件的名称,然后点击下一步。
在通知和名称部分中,执行以下操作:
- 在使用通知渠道字段中选择一个通知渠道。为实现冗余,我们建议您配置多个通知渠道。
- 配置突发事件关闭通知。
- 将政策用户标签设置为适当的级别。用于设置政策的提醒严重程度。
- 输入您希望随提醒一起发送的任何文档。
- 输入提醒政策的名称。
按日志类型查看总注入量
如需在 Cloud Monitoring 中按日志类型查看提取量,请执行以下操作:
在设置页面中,选择个人资料。
选择您的 Cloud Monitoring 配置文件。
在个人资料页面上,在搜索栏中输入集成。
选择 Metrics Explorer。
点击 promQL 切换到 promQL 查询模式。
在查询字段中,复制以下内容:
sum by (log_type) (increase(chronicle_googleapis_com:ingestion_log_bytes_count{monitored_resource="chronicle.googleapis.com/Collector"}[1h]))
可选:过滤特定日志类型,并将其纳入查询中。
例如,如需查看日志类型 GCP_CLOUDAUDIT
的提取情况,查询应如下所示:
`sum(increase(chronicle_googleapis_com:ingestion_log_bytes_count{monitored_resource="chronicle.googleapis.com/Collector",log_type="GCP_CLOUDAUDIT"}[1h]))`
在结果部分中,选择表格标签页以查看汇总数据。
可选:根据需要调整时间范围。
需要更多帮助?从社区成员和 Google SecOps 专业人士那里获得解答。