使用 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)
如需详细了解如何授予角色,请参阅管理访问权限。
- Logs Viewer (
了解费用影响。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 活动涉及几个关键步骤:
- 访问 Logs Explorer:在 Google Cloud 控制台中前往 Logs Explorer,然后选择正确的 Google Cloud 项目。如需了解详情,请参阅 Logs Explorer 界面文档。
- 查询日志:构建查询,以根据各种参数(例如时间范围、命名空间、日志 ID、提取机制、Feed ID 或收集器 ID)过滤日志。如需了解语法规则,请参阅 Logging 查询语言。本指南提供了常见过滤场景的示例。
- 调查特定 Feed 类型:了解如何查询使用不同提取方法的 Feed 的日志,包括使用 Storage Transfer Service (STS) 的 Feed(这些 Feed 具有独特的日志格式)。
- 使用控制台工具:利用内置的 Google SecOps 控制台功能(例如使用日志进行调试和 Gemini Cloud Assist)来简化分析和调试流程。
- 了解日志架构:请参阅架构参考,了解日志载荷中的字段和数据类型,这有助于进行更深入的分析和问题排查。
以下部分提供了详细信息,可帮助您有效监控数据注入流水线的运行状况、调试问题和排查错误。
查看和查询 Feed 活动日志
如需查看和查询 Feed 活动日志,请执行以下操作:
- 前往 Google Cloud 控制台中的Logs Explorer页面。
- 选择与您的 Google SecOps 实例关联的 Google Cloud 项目。
- 在查询窗格中输入查询表达式,以过滤日志。
- 点击运行查询。
接下来几部分将展示一些常见场景的查询示例。
按 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_id 或 labels.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"和特定的 STSlog_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 |
正在提取的日志的格式(例如 DUO、OFFICE_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 Processing、File 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 专业人士的解答。