监控数据源的健康状况
本指南适用于希望在 Google Security Operations 中监控数据注入、解析和延迟的健康状况和状态的安全工程师。本文介绍了如何使用健康中心来识别、诊断和开始修复影响数据流水线的问题。借助健康中心,您可以快速检测和解决问题,从而有助于保持数据质量并确保有效的安全监控。
健康中心是 Google SecOps 中的一个中心位置,您可以在其中监控所有已配置数据源的状态和健康状况。它提供有关数据源、日志类型和延迟时间的关键信息,从而提供诊断和修复数据流水线问题所需的背景信息。
健康中心包含以下信息:
- 注入量和注入健康状况
- 将原始日志中的解析量转换为统一数据模型 (UDM) 事件
- 数据源和日志类型的延迟时间指标
- 上下文以及指向具有其他相关信息和功能的界面的链接
- 不规则和失败的来源和日志类型
健康中心会检测每个客户的异常情况和故障。它使用统计方法,并采用 15 天的回溯期来分析提取数据。标记为不规则的项表示 Google SecOps 正在注入和处理的数据出现激增或下降。异常情况可能表示解析器存在问题、供应商架构发生变化或数据流水线发生变化。
主要术语
- 健康状况中心:Google SecOps 中的中央界面,用于监控数据源的状态和健康状况。
- 不规则:描述的是数据源或解析器的数据量出现异常激增或下降,或者错误率出现显著变化(由不规则性检测引擎检测到)。
- 统一数据模型 (UDM):Google SecOps 中用于表示安全事件的标准化数据结构。
准备工作
在使用健康数据中心之前,请确认您已被分配包含监控和报告所需的 Identity and Access Management (IAM) 权限的角色。如果您无法访问健康中心,请与您的管理员联系。
标准预定义角色
健康中心功能通常包含在以下预定义的 IAM 角色中:
- Chronicle API Admin (
roles/chronicle.admin) - Chronicle API Editor (
roles/chronicle.editor) - Chronicle API Viewer (
roles/chronicle.viewer) - Chronicle API Limited Viewer (
roles/chronicle.limitedViewer)
特定权限
与健康数据中心内显示的数据(例如提取的字节数和日志计数)相关联的一项关键权限是 chronicle.instances.report。Admin、Editor、Viewer 和 Limited Viewer 角色均包含此权限。
集成功能的其他权限
由于健康中心与其他 Google Cloud 服务集成,以便发出提醒和进行深入调查,因此可能需要其他权限才能使用完整功能:
- Cloud Monitoring:如需根据健康中心内显示的健康指标设置提醒,用户需要在 Cloud Monitoring 中拥有适当的权限。
- 特定于功能的访问权限:直接从健康数据中心修改 Feed 或解析器等操作需要相应的修改权限(例如
chronicle.feeds.update或chronicle.parsers.activate)。
访问健康中心
- 如需访问健康中心,请在侧边导航菜单中点击健康中心。
健康数据中心是一个只读的默认信息中心,无法直接修改。如需进行自定义,请创建健康中心副本,然后根据您的具体使用情形修改复制的信息中心。
了解和使用健康数据中心界面
本部分介绍了健康中心界面及其组件,以便您识别、诊断并开始修复影响数据流水线的问题。
健康数据中心包含以下部分:
“健康中心”微件
健康数据中心会显示以下微件:
大数字微件:
- 运行状况良好的来源:运行正常且无故障和异常的数据源数量。
- 失败的数据源:需要立即注意的数据源数量。
- 不规则数据源:不规则数据源和解析器的数量。
- 运行正常的解析器:无失败的解析器数量。
- 解析器失败次数:需要立即注意的解析器数量。
- 不规则的解析器:表现出不规则行为的解析器的数量。
数据源健康状况概览:折线图,显示了随时间变化的每天健康、不规律和失败的数据源曲线。
解析健康状况概览:折线图,显示一段时间内每天的正常、异常和失败解析器曲线。
提取的日志总数:一个折线图,显示了提取的日志每天的曲线随时间的变化。
按日志类型划分的失败解析器:一个折线图,显示每个健康状态为失败的解析器随时间变化的曲线,以天为单位。在此背景下,健康状况显示为失败是因为解析成功率非常低。
监控数据源和日志类型的健康状况
健康状况监控部分包含以下表格:
“按数据源划分的健康状况”表格
按数据源划分的健康状况表格包含以下列:
| 列 | 说明 |
|---|---|
| 状态 | Feed 的累计状态(正常、不规律或失败),根据数据量、配置错误和 API 错误得出。 |
| 来源类型 | 来源类型(提取机制)- 例如 Ingestion API、Feed、原生 Google Workspace 提取或 Azure Event Hub Feed。 |
| 名称 | Feed 名称。 |
| 日志类型 | 日志类型,例如 CS_EDR、UDM、GCP_CLOUDAUDIT 或 WINEVTLOG。 |
| 最新问题详情 | 指定时间范围内最新问题的详细信息,例如解析日志失败、配置凭据问题或归一化问题。所述问题可以是可采取行动的(例如,身份验证不正确),也可以是不可采取行动的(例如,Internal_error)。如果问题不可采取行动,建议您向 Google SecOps 提交支持请求。如果在指定的时间范围内未出现任何问题,则该值为空或显示 OK。 |
| 问题持续时间 | 数据源处于异常或失败状态的天数。当状态为正常时,该值为空或显示 N/A。 |
| 上次收集时间 | 上次数据收集的时间戳。 注意:即使稍后提取了较旧的事件,该值也始终是最新的时间戳。 |
| 上次提取时间 | 上次成功提取的时间戳。使用此指标可确定日志是否已到达 Google SecOps。 |
| 配置上次更新时间 | 相应指标上次更改的时间戳。您可以使用此值将配置更新与观察到的异常情况或失败相关联,从而帮助您确定提取问题或解析问题的根本原因。 |
| 查看提取详情 | 包含一个信息中心链接,点击该链接会在新标签页中打开数据健康状况深入分析信息中心。数据健康状况深入分析信息中心包含更多历史信息,可供您进行更深入的分析。 |
| 修改数据源 | 一个链接,用于在新标签页中打开相应的Feed 配置,您可以在其中修正与配置相关的异常或失败。 |
| 设置提醒 | 一个链接,用于在新标签页中打开相应的 Cloud Monitoring 界面。然后,您可以使用状态和日志量指标配置基于 API 的自定义提醒 |
按解析器划分的健康状况表
按解析器的健康状况表格包含以下各列:
| 列 | 说明 |
|---|---|
| 状态 | 日志类型的累计状态(正常、不规律或失败)。 |
| 最新问题详情 | 指定时间范围内最新解析问题的详细信息,例如日志解析失败、配置凭据问题或规范化问题。所述问题可以是可采取行动的(例如,身份验证不正确),也可以是不可采取行动的(例如,Internal_error)。如果问题不可采取行动,建议您向 Google SecOps 提交支持请求。如果在指定的时间范围内未出现任何问题,则该值为空或显示 OK。 |
| 上次提取时间 | 上次成功提取的时间戳。您可以使用此指标来确定日志是否已到达 Google SecOps。 |
| 上次活动时间 | 最后一个已归一化日志的事件时间戳。 注意:该值始终是最新的时间戳,即使稍后摄取了较旧的事件也是如此。 |
| 上次归一化时间 | 相应日志类型的上次解析和归一化操作的时间戳。您可以使用此指标来确定原始日志是否已成功转换为 UDM 事件。 |
| 配置上次更新时间 | 相应指标上次更改的时间戳。您可以使用此值将配置更新与观察到的异常情况或失败相关联,从而帮助您确定提取问题或解析问题的根本原因。 |
| 查看解析详情 | 包含一个信息中心链接,点击该链接会在新标签页中打开数据健康状况深入分析信息中心。数据健康状况深入分析信息中心包含更多历史信息,可供您进行更深入的分析。 |
| 修改解析器 | 一个链接,用于在新标签页中打开相应的解析器配置,您可以在其中修正与配置相关的不规则情况或故障。 |
| 设置提醒 | 一个链接,用于在新标签页中打开相应的 Cloud Monitoring 界面。 |
监控数据源和日志类型的延迟时间状态
健康中心包含延迟状态监控功能,可提高端到端的可观测性,并有助于缩短延迟日志的平均调试时间 (MTTD)。Google SecOps 会在来源级和日志类型级计算延迟时间。
健康状况中心的延迟时间状态监控部分包含以下表格:
“延迟时间状态(按来源)”表
按来源划分的延迟状态表会显示每个单独来源(例如 Bindplane 收集器或第三方 API)的延迟指标,并包含以下列:
| 列 | 说明 |
|---|---|
| 来源类型 | 数据提取机制 - 例如 Ingestion API 或 Feed。 |
| 名称 | 特定 Feed 或来源的名称。 |
| 日志类型 | 日志类型,例如 CS_EDR 或 WINEVTLOG。 |
| 从来源到提取的延迟时间 (P95) | 从原始日志生成到 Google SecOps 接收并注入这些日志所用的最长时间(95% 的原始日志)。此指标用于衡量事件(原始日志)创建时间与提取时间之间的差值。 |
| SecOps 提取延迟时间(第 95 百分位) | 从 Google SecOps 收集日志到完全提取日志所用的最长时间。此指标用于衡量收集时间与提取时间之间的差值。 |
| 轮询频率 | 对于基于拉取的机制,此参数表示 Google SecOps 检查来源中新数据的频率。 |
| 回溯期 | 对于第三方 API,此参数表示系统在每次转移期间提取日志的时间范围。 |
| 查看 | 包含一个信息中心链接,点击该链接会打开一个新标签页,其中包含针对此特定来源过滤的数据健康状况深入分析信息中心。 |
“延迟时间状态(按日志类型)”表
按日志类型划分的延迟时间状态表会显示每种日志类型的汇总延迟时间指标,并包含以下列:
| 列 | 说明 |
|---|---|
| 日志类型 | 正在监控的日志类型。 |
| 从来源到提取的延迟时间 (P95) | 特定日志类型从生成事件到提取事件的总体 P95 延迟时间,汇总了所有促成该延迟时间的来源。 |
| 查看 | 包含一个信息中心链接,点击该链接会打开一个新标签页,其中包含针对此特定日志类型过滤的数据健康状况深入分析信息中心。 |
识别并调查数据注入和解析问题(深入分析)
本部分介绍了如何使用健康数据中心来识别和调查一些常见的数据注入和解析问题。
调查 Feed 运行和解析器状态
如需调查 Feed 运行和解析器状态,请执行以下操作:
- 前往按数据源划分的健康状况或按解析器划分的健康状况表,然后前往包含要调查的商品状态的行。
- 点击信息中心链接。系统会打开数据健康状况深入分析信息中心。该信息中心会显示相应行的最后 2,000 次 Feed 运行和最后 200 个解析器错误。
验证日志是否已发送到 Google SecOps
如需验证日志是否已到达 Google SecOps,请执行以下操作:
- 查看上次提取和上次标准化指标(分别位于按数据源划分的健康状况和按解析器划分的健康状况表格中)。这些指标可确认上次成功传送数据的时间。
- 查看提取量指标(按来源和按日志类型),这些指标会显示正在提取的数据量。
确认日志已正确解析
- 如需确认日志是否已正确解析,请前往按解析器划分的健康状况表,然后查看上次归一化指标。此指标表示上次成功将原始日志转换为 UDM 事件的时间。
识别显著的音量变化
如需识别显著的音量变化,请执行以下操作:
- 查看“状态”字段,该字段会根据数据量显示数据的健康状况(“正常”或“失败”)。
- 查看摄入的日志总数图表,找出突然或持续的激增或下降。
为发生故障的来源配置提醒
健康中心会将状态和日志量指标馈送到 Cloud Monitoring。
如需为失败的来源配置提醒,请执行以下操作:
- 在某个健康中心表格中,点击相关的提醒链接,打开 Cloud Monitoring 界面。
- 使用状态和日志量指标配置基于 API 的自定义提醒。
推断日志类型提取延迟
- 如需推断日志类型提取的延迟时间,请比较最后一次活动时间和最后一次提取时间时间戳。如果上次事件时间明显晚于上次提取时间,则表示存在延迟。健康中心会显示每种日志类型的“上次注入时间”与“上次事件时间”差值的第 95th 百分位数。如果该值较高,则表明 Google SecOps 流水线中存在延迟问题;如果该值正常,则可能表明来源正在推送旧数据。
查看历史健康趋势
- 如需查看历史健康趋势,请查看数据源健康状况概览、解析健康状况概览和提取的日志总数图表,这些图表会显示数据的健康状况历史趋势,以便您观察长期规律和异常情况。
识别数据注入问题
如果您怀疑数据源无法发送日志,或者 Google SecOps 中未显示日志,请执行以下操作来验证数据是否已成功到达并得到处理:
检查音量是否突然下降:
- 查看摄入的日志总数 widget,以确定日志量是否在一段时间内突然或持续激增或下降。大幅下降可能表示来源已断开连接。
- 查看失败和不规律的数据源。
验证数据注入:
- 在按数据源划分的健康状况表格中,查看上次提取指标。此时间戳显示了上次成功注入的时间,可让您确定相应 Feed 或 API 中的日志是否正在主动到达 Google SecOps。
- 将上次提取时间指标与上次收集时间时间戳进行比较,后者表示 Google SecOps 上次收到事件的时间(即使载荷为空)。
验证日志解析和规范化:
即使已提取数据,您也必须确保解析器配置正确,并且能够成功将日志解析为统一数据模型 (UDM) 事件。
在 Health Status by Parser(按解析器的健康状况)表中,查看 Last Normalized(上次归一化)指标,以确认上次成功将原始日志转换为 UDM 事件的时间。如果来源未进行提取,则会在健康状况中心内标记为不规律或失败。
如需进一步分析,请点击查看提取详细信息列中的信息中心链接,以打开数据健康状况深入分析信息中心。
分析特定 Feed 的每日提取事件:
- 前往您要调查的日志类型对应的数据健康状况深入分析信息中心。
- 查看提取 - 按状态划分的事件表,并检查过去几天提取的日志的确切数量。这有助于确认降至零是突然发生还是逐渐发生。
- 查看按 Feed ID 划分的日志数量和按收集器 ID 和日志类型划分的日志数量图表,以过滤到单个 Feed 或收集器级别。
检查是否存在突发拒绝和配额限制:如果提取的日志数量低于预期,请查看突发限制图 - 配额限制和突发拒绝图。如需详细了解突发限制,请参阅了解配额和突发限制。
调查延迟的日志
日志延迟可能发生在数据到达 Google SecOps 之前(在日志源处),也可能发生在 Google SecOps 注入流水线的某个位置。
如需调查延迟的日志,请执行以下操作:
比较以下时间戳,以确定和衡量延迟时间:
- Last Event Time(在 Health Status by Parser 表格中):上次标准化日志的事件时间戳。
- 上次收集时间(在按数据源划分的健康状况表中):上次数据收集的时间戳(Google SecOps 收到事件的时间)。
- 上次提取时间(两个表中均提供):上次成功提取的时间戳。
隔离延迟来源:
- 来源/网络延迟:如果上次事件时间与上次收集时间之间的延迟时间较长,则问题很可能发生在来源端。
- Google SecOps 流水线出现延迟:如果“按数据源划分的健康状况”表中的“上次收集时间”与“上次注入时间”之间存在明显延迟,则表示数据已到达 Google SecOps,但在处理过程中出现延迟。收集时间和注入时间之间的延迟时间较长通常表示 Google SecOps 流水线中存在问题,并且这种情况可能会在配额违规期间发生。
您可以在按解析器的健康状况表中直接查看上次事件时间是否明显落后于上次提取时间时间戳,从而推断总体延迟情况。
如果时间戳指示收集和注入之间的延迟时间,数据健康状况深入分析信息中心可以帮助直观呈现流速并隔离不规则的 Feed 运行模式。
查看注入吞吐量异常:
在数据健康状况深入分析信息中心内,查看每小时 LogType 提取速率或每小时提取速率/日志量图表。
查找异常缺口,然后是大幅尖峰,这通常表示收集器或来源延迟了批处理。
检查 Feed 运行频率:查看 Feed 运行历史记录(最近 2000 次运行)和运行历史记录(最近 2000 次运行)图表,确认预定的 Feed 执行是否按预期频次进行。
识别并修正 Feed 和解析错误
如果由于配置问题、凭据错误或架构变更而导致日志无法正确注入或解析,健康状况中心会将来源或解析器标记为异常或失败。
如需识别并修正 Feed 和解析错误,请执行以下操作:
识别可采取措施的错误和不可采取措施的错误:查看按数据源划分的健康状况或按解析器划分的健康状况表格中的最新问题详情列,了解指定时段内的最新问题详情。该文本会指明具体问题,并帮助您确定相应措施是可采取的(您可以自行解决)还是不可采取的(需要支持)。Forbidden 403: Permission denied(禁止访问 403:权限遭拒)文本是一个可操作的错误示例,表示 Feed 配置中提供的授权账号缺少必需的权限。文字
Internal_error是一个不可操作的错误示例。执行以下任一操作:
- 如果该错误是无法采取措施的错误,请向 Google SecOps 提交支持请求。
如果错误是可操作的错误,请执行以下操作:
- 将错误与最近的配置更改相关联:如果错误是可操作的错误,请检查配置上次更新时间时间戳是否接近上次提取时间时间戳。如果配置上次更新时间时间戳与上次提取时间时间戳接近,则表明最近的配置更新可能是导致失败的原因。这种相关性有助于进行根本原因分析。
确定确切的故障阶段:
当健康中心显示状态异常或失败时,数据健康状况深入分析信息中心是查找确切的历史错误消息并精确定位事件细分发生位置的最佳去处。
- 打开数据健康状况深入分析信息中心,然后查看提取 - 按状态划分的事件表格。
- 将提取的日志数量与以下特定错误列进行比较:解析错误、验证错误和索引编制错误。这有助于确定故障是在初始解析、UDM 验证还是最终索引编制期间发生的。
- 查看详细的历史解析器错误:前往解析器错误历史记录(最近 200 个错误)表格,查看近期问题的按时间顺序排列的日志。
自行解决常见问题。您可以使用这些链接直接修改配置并解决常见问题(另请参阅自行修复数据健康状况问题):
- 身份验证或凭据不正确:如果您看到授权错误,请点击按数据源划分的健康状况表格中的修改数据源链接,然后使用正确的身份验证凭据修改数据源配置。
- 解析或归一化问题:如果日志无法正确解析或映射到 UDM,请点击按解析器划分的健康状况表中的修改解析器链接,查看解析器配置,并根据需要调整解析器设置。
验证修正情况:进行调整后,请监控健康中心,以验证受影响的数据源或解析器的状态是否变为正常,以及最新问题详情字段是否为空或显示正常。
识别和调查延迟时间问题(深入分析)
本部分介绍了如何使用健康状况中心和数据健康状况深入分析信息中心来隔离和调查延迟日志的根本原因。
调查延迟趋势并找出根本原因
如需调查延迟问题并确定延迟是源自数据源还是 Google SecOps 流水线内部,请执行以下操作:
- 在健康状况中心内,查看按日志类型显示的延迟时间状态表,以确定是否存在任何日志类型的从来源到提取的延迟时间异常高。
- 按受影响的日志类型过滤按来源划分的延迟状态表,以确定哪些特定来源导致了延迟异常。
- 点击受影响的来源或日志类型的信息中心链接,打开数据健康状况深入分析信息中心。深入分析信息中心会显示 P50、P90 和 P95 延迟时间的历史折线图。
- 比较所选时间范围内的从来源到提取的延迟时间图表和 SecOps 提取延迟时间图表:
- Google SecOps 流水线中的延迟:如果从来源到注入的延迟时间出现峰值,同时SecOps 注入延迟时间也出现峰值,则延迟很可能发生在 Google SecOps 内的处理过程中。
- 来源或网络出现延迟:如果从来源到提取的延迟时间出现峰值,但 SecOps 提取延迟时间保持稳定且不受影响,则可以断定延迟是由到达 Google SecOps 之前的外部因素造成的(例如,Bindplane 收集器积压或来源 API 出现问题)。
自行修复数据健康状况问题
如需自行修正数据健康状况问题,请执行以下操作:
请使用下表来确定问题、原因并执行建议的补救措施:
问题 原因 建议的补救措施 身份验证不正确 Feed 配置中提供的身份验证账号缺少必需的权限。 使用按数据源划分的健康状况表中的修改数据源链接修改数据源配置,并更正身份验证凭据。 Internal_error 发生了 Internal-error,即内部系统错误。向 Google SecOps 提交支持请求。 日志解析失败 系统在解析原始日志时遇到了问题。 检查解析器配置。使用按解析器划分的健康状况表中的修改解析器链接来调整解析器设置。 配置凭据问题 配置中使用的凭据存在问题。 使用修改数据源链接修改数据源配置,以验证和更正凭据。 标准化问题 日志未成功转换为 UDM 事件。 使用修改解析器链接查看解析器配置,并确保日志正确映射到 UDM 字段。 在做出更改以解决数据健康状况问题后,请监控健康中心以执行以下操作:
- 验证受影响的数据源或解析器的状态是否更改为正常,以及最新问题详情字段是否为空或显示
OK。 - 查看图表,了解提取和解析量是否已恢复到预期水平。
- 验证受影响的数据源或解析器的状态是否更改为正常,以及最新问题详情字段是否为空或显示
了解不规律检测引擎
健康数据中心使用 Google SecOps 异常检测引擎自动识别数据中的重大变化,以便您快速检测并解决潜在问题。
异常检测引擎会回溯过去 15 天的数据,根据过去 24 小时与 15 天时间段的对比情况进行计算,并每小时重新计算一次。
数据注入异常检测
Google SecOps 会分析每日数量变化,同时考虑正常的每周规律。
异常检测引擎使用以下计算来检测数据注入中的异常激增或下降:
- 每日和每周比较:Google SecOps 会计算当前与前一天的数据提取量之差,以及当前与过去一周的平均数据提取量之差。
标准化:为了解这些变化的重要性,Google SecOps 使用以下 z 分数公式对这些变化进行标准化处理:
z = (x<sub>i</sub> − x_bar) / stdev其中
z是个体差异的标准分数(或 z 分数)x<sub>i</sub>是个体差异值x_bar是差值的平均值stdev是差值的标准差
异常标记:如果每日和每周标准化变化均具有统计显著性,Google SecOps 会标记异常。具体而言,Google SecOps 会搜索以下内容:
- 下降:每日和每周标准化差异均小于 -1.645。
- 激增:日标准化差值和周标准化差值均大于 1.645。
归一化比率
在计算提取的事件与归一化事件的比率时,异常检测引擎会采用组合方法,以确保仅标记归一化率的显著下降。只有在同时满足以下两个条件时,异常检测引擎才会生成提醒:
- 与前一天相比,归一化比率出现了具有统计学意义的下降。
- 从绝对值来看,降幅也很大,达到 0.05 或更高。
解析错误异常检测
对于数据解析期间发生的错误,异常检测引擎会使用基于比率的方法。如果解析器错误占提取事件总数的比例与前一天相比增加了 5 个百分点或更多,异常检测引擎就会触发提醒。
问题排查
以下内容介绍了健康数据中心的界面元素,这些元素可能会让您感到意外或困惑:
在健康数据中心的表格微件中,如果某个字段在所选时段内没有数据,系统会显示短划线 (
-),表示该字段的值为空。例如,如果某个 Feed 能够成功提取文件,但文件为空,则 Google SecOps 不会提取数据,因此该 Feed 的上次提取时间会显示短划线 (-),并且该 Feed 会显示正常,除非提取的数据量不规律。健康数据中心会根据所选时间范围显示所有来源的历史数据,包括已删除的 Feed。如果某个 Feed 在所选时间范围内被删除,信息中心会显示该来源在被删除之前的数据。如果某个来源是在所选时间范围开始之前删除的,则系统不会显示该来源的任何数据。
解析后的日志总数可能高于提取的日志总数,因为某些提取的日志会映射到多个标准化日志。
按数据源划分的健康状况表中的上次收集时间戳可能晚于上次提取时间戳。这是因为上次收集时间时间戳表示 Google SecOps 收到事件的时间,即使载荷为空也是如此,但对于空载荷,系统不会记录提取时间戳。
按解析器划分的健康状况表中的上次事件时间可能晚于上次提取时间时间戳。这是因为上次事件时间表示 Google SecOps 收到事件的时间,即使载荷为空也是如此,但对于空载荷,系统不会记录提取时间戳。
后续步骤
需要更多帮助?获得社区成员和 Google SecOps 专业人士的解答。