使用 Cloud Logging 分析 Feed 活动

支持的平台:

本指南可帮助安全工程师和管理员监控、调试和排查 Google SecOps SIEM 中的数据提取流水线和 Feed。如需更全面地了解如何监控数据注入,请参阅检查数据注入健康状况排查数据注入问题。本指南介绍了如何在 Cloud Logging 中发送、查看和查询提取和 Feed 活动日志。借助 Cloud Logging,您可以诊断日志传送方面的问题(例如日志缺失、延迟或失败),并缩短解决注入异常所需的时间。通过这种对基于推送和拉取的提取机制的可见性,您还可以使用 Gemini Cloud Assist 来调查日志记录和指标遥测。

准备工作

  • 如需获得查看日志所需的权限,请让管理员向您授予项目的以下 Identity and Access Management (IAM) 角色之一:

    • Logs Viewer (roles/logging.viewer)
    • Private Logs Viewer (roles/logging.privateLogViewer)

    如需详细了解如何授予角色,请参阅管理访问权限

  • 了解费用影响。Cloud Logging 是一项收费服务。免费层级是 Google Cloud 免费计划的一部分。如需了解详情,请参阅Google Cloud 可观测性价格

主要术语

  • chronicle-siem:与 Google SecOps 生态系统关联的日志的命名空间标签。
  • chronicle.googleapis.com/ingestion_activity:与 Google SecOps 数据注入流水线专门相关的日志流的日志 ID。
  • storage_transfer_job:使用 Storage Transfer Service (STS) 的静态 Feed 中的日志的资源类型。
  • storagetransfer.googleapis.com/transfer_activity:STS 活动日志的日志 ID。

分析 Feed 活动概览

在 Cloud Logging 中分析 Feed 活动涉及几个关键步骤:

  1. 访问 Logs Explorer:在 Google Cloud 控制台中前往 Logs Explorer,然后选择正确的 Google Cloud 项目。如需了解详情,请参阅 Logs Explorer 界面文档。
  2. 查询日志:构建查询,以根据各种参数(例如时间范围、命名空间、日志 ID、提取机制、Feed ID 或收集器 ID)过滤日志。如需了解语法规则,请参阅 Logging 查询语言。本指南提供了常见过滤场景的示例。
  3. 调查特定 Feed 类型:了解如何查询使用不同提取方法的 Feed 的日志,包括使用 Storage Transfer Service (STS) 的 Feed(这些 Feed 具有独特的日志格式)。
  4. 使用控制台工具:利用内置的 Google SecOps 控制台功能(例如使用日志进行调试和 Gemini Cloud Assist)来简化分析和调试流程。
  5. 了解日志架构:请参阅架构参考,了解日志载荷中的字段和数据类型,这有助于进行更深入的分析和问题排查。

以下部分提供了详细信息,可帮助您有效监控数据注入流水线的运行状况、调试问题和排查错误。

查看和查询 Feed 活动日志

如需查看和查询 Feed 活动日志,请执行以下操作:

  1. 前往 Google Cloud 控制台中的Logs Explorer页面。
  2. 选择与您的 Google SecOps 实例关联的 Google Cloud 项目。
  3. 查询窗格中输入查询表达式,以过滤日志。
  4. 点击运行查询

接下来几部分将展示一些常见场景的查询示例。

按 Google SecOps 命名空间过滤

如需检索与 Google SecOps 生态系统关联的所有日志,请使用以下查询:

labels.namespace="chronicle-siem"

按提取活动日志流过滤

如需隔离与数据注入流水线专门相关的日志,请使用以下查询:

log_id("chronicle.googleapis.com/ingestion_activity")

按提取机制过滤

如需指定特定提取机制(例如第三方 API)的日志,请在查询中使用 labels.ingestion_mechanism 字段:

labels.ingestion_mechanism="Third Party API"

按 Feed ID 或收集器 ID 过滤

如需查看特定提取 Feed 或收集器的日志,请使用 labels.feed_idlabels.collector_id 字段。如需了解如何配置 Feed,请参阅管理数据 Feed数据 Feed 概览。对于收集器,请参阅日志提取和解析

labels.feed_id="FEED_ID"

FEED_ID 替换为您的 Feed 的唯一标识符。

labels.collector_id="COLLECTOR_ID"

COLLECTOR_ID 替换为收集器的唯一标识符。

查看 Storage Transfer Service 日志

使用 Storage Transfer Service (STS) 的静态 Feed 的日志会从租户环境路由到您的 Google Cloud 项目,并使用不同的资源类型和日志名称。如需了解有关 STS 的一般信息,请参阅 Storage Transfer Service 文档

  • 目标:查看 STS 日志活动。
    操作:运行以下查询: none resource.type="storage_transfer_job" AND log_id("storagetransfer.googleapis.com/transfer_activity")

  • 预期失败:使用 log_id("chronicle.googleapis.com/ingestion_activity") 进行搜索不会显示这些静态 Feed 的日志。

  • 修正步骤:使用 resource.type="storage_transfer_job" 和特定的 STS log_id

使用控制台工具调试 Feed

Google SecOps 提供控制台集成功能,以便访问活动日志:

  • 问问 Gemini Cloud Assist:在动态页面上,选择问问 Gemini Cloud Assist以打开聊天窗格。您可以询问有关 Feed 量和错误的问题。如需了解详情,请参阅 Google SecOps 中的 Gemini 概览
  • 使用日志进行调试:在 Feed 管理页面上,打开特定 Feed 的操作菜单,然后选择使用日志进行调试。您也可以在查看 Feed 页面上找到此选项。系统会在新标签页中打开日志浏览器,并预先过滤所选 Feed ID 的日志。

日志架构参考

Feed 活动日志使用统一的 JSON 载荷结构。

注入活动日志字段

字段 数据类型 说明
request_start_time string 活动开始的时间戳 (RFC 3339)。
activity_duration string 活动的总时长(例如“1.500s”)。
transfer_id string 特定文件或数据传输操作的唯一标识符。
feed_id string Google SecOps 提取 Feed 的唯一标识符。
collector_id string 执行提取的收集器的唯一标识符。
log_type string 正在提取的日志的格式(例如 DUOOFFICE_365)。如需查看格式字符串的列表,请参阅支持的默认解析器
file string 已处理的文件或 Blob 容器(对于基于文件的来源)的名称。
request_urls array of strings 用于提取或转移数据的目标网址(适用于基于 API 的来源)。
http_status_code integer 从 API 提取操作收到的 HTTP 状态代码。
bytes_transferred integer 活动期间成功转移的原始字节数。
record_count integer 已处理、提取或解析的各个日志条目的数量。
activity string 正在执行的任务的名称(例如,File ProcessingFile Transfer)。
details string 提取活动的其他元数据或详细信息。
error_details object 如果活动遇到失败,则提供详细的错误信息。请参阅错误详情字段

错误详情字段

字段 数据类型 说明
error_message string 人类可读的错误说明。
error_code string 错误代码或标识符(支持数字代码和描述性字符串代码)。
error_type string 错误的分类或类别。
is_retriable boolean 指示是否可以重试导致错误的相应操作。

日志载荷示例

成功提取活动日志的示例

{
  "request_start_time": "2026-06-30T19:00:00Z",
  "activity_duration": "0.500s",
  "transfer_id": "transfer-12345",
  "feed_id": "feed-998877",
  "collector_id": "collector-abcd",
  "log_type": "WORKDAY_AUDIT",
  "file": "audit_log_2026_06_30.json",
  "request_urls": [
    "https://api.workday.com/ccx/v1/tenant/logs"
  ],
  "http_status_code": 200,
  "bytes_transferred": 4512000,
  "record_count": 12500,
  "activity": "File Processing",
  "details": "Successfully processed and validated 12500 records from Workday."
}

注入失败活动日志示例

{
  "request_start_time": "2026-06-30T19:05:00Z",
  "activity_duration": "1.200s",
  "transfer_id": "transfer-12346",
  "feed_id": "feed-998877",
  "collector_id": "collector-abcd",
  "log_type": "WORKDAY_AUDIT",
  "request_urls": [
    "https://api.workday.com/ccx/v1/tenant/logs"
  ],
  "http_status_code": 401,
  "bytes_transferred": 0,
  "record_count": 0,
  "activity": "File Transfer",
  "details": "Authorization failure during API request.",
  "error_details": {
    "error_message": "Invalid API token or credential expired.",
    "error_code": "401",
    "error_type": "AUTHORIZATION_ERROR",
    "is_retriable": true
  }
}

问题排查

本部分概述了限制和常见问题。

限制

  • Storage Transfer Service (STS) 字段:从 STS 路由的静态 Feed 的日志使用资源类型 storage_transfer_job 和日志名称 storagetransfer.googleapis.com/transfer_activity,而不是 chronicle.googleapis.com/ingestion_activity
  • 遥测相关性:高基数字段(例如 feed_id)作为元数据标签包含在日志中,而不是作为受监控的资源定义中的资源标签。Gemini Cloud Assist 使用元数据标签进行关联的功能目前正在接受评估。

错误修复

问题描述 修复
标准查询中缺少静态 Feed 的日志 确保您使用 STS 特定的资源类型 storage_transfer_job 和日志 ID storagetransfer.googleapis.com/transfer_activity 进行查询。请参阅查看 Storage Transfer Service 日志

需要更多帮助?获得社区成员和 Google SecOps 专业人士的解答。