如何导出SentinelOne Singularity数据湖日志

如何导出SentinelOne Singularity数据湖日志

SOC Prime Team
SOC Prime Team linkedin icon 关注

向您区域的数据湖 URL 上的 /api/powerQuery 发送 PowerQuery 到 Singularity 数据湖 API,例如 https://xdr.us1.sentinelone.net。响应以表格形式返回(一列加一行),一行 jq 将其转换为每个事件一个 JSON 对象。此外,还可以通过事件搜索从 Singularity 控制台直接导出事件。CSV 是一种常见的导出格式,视接口而定,可能还会提供 JSON 或纯文本下载。

Singularity 数据湖保留了 SentinelOne 的端点遥测数据以及您发送的任何第三方日志,因此这通常是 SentinelOne 客户的最广泛视图。Prime Core 为 SentinelOne 提供了 14,699 条检测规则,映射到 644 个 MITRE ATT&CK 技术。以下是如何获取数据、清理数据,并免费在 LogTotal 中进行调查的方法。

免费开始

在你开始之前

具有适当权限的服务用户。 为 API 访问创建服务用户,并为其角色授予数据湖查询权限(SDL 查询 API 和 SDL 搜索)。在实际持有数据的帐户或站点级别创建它。在错误范围内创建的密钥验证虽正常,但返回结果为空。

您区域的 URL。 美国地区通常是 https://xdr.us1.sentinelone.net;其他地区使用各自的主机名。控制台的帮助部分列出了您所使用的。

了解字段。 端点遥测使用诸如 endpoint.name、event.type、src.process.cmdline 和 tgt.process.cmdline 等名称。第三方日志在消息字段中保留其原始文本。请首先在事件搜索中尝试该查询。

使用 PowerQuery API 导出

SDL="https://xdr.us1.sentinelone.net"

curl -sS -X POST "$SDL/api/powerQuery"
-H "Authorization: Bearer $S1_SDL_TOKEN" -H "Content-Type: application/json"
-d '{
"query": "endpoint.name = "WS-042" | columns timestamp, endpoint.name, event.type, src.process.cmdline, tgt.process.cmdline",
"startTime": "2026-10-19T00:00:00Z",
"endTime": "2026-10-20T00:00:00Z"
}' > sdl_ws042_1019.json

# 表格 -> 每行一个 JSON 对象
jq -c '.columns as $c | .values[] | [$c, .] | transpose | map({(.[0].name): .[1]}) | add'
sdl_ws042_1019.json > sdl_ws042_1019.jsonl

PowerQuery 结果有限制,因此将较长的时间窗口拆分成多个请求。

列阶段决定了您可以获得哪些内容。省略您不需要的字段,但保留命令行和进程名称:那是大多数检测所查看的地方。

通过 Singularity 数据湖 UI 导出日志

对于快速调查或较小的日志样本,您可以直接从 SentinelOne Singularity 控制台导出事件而无需使用 API。

  1. 打开事件搜索。 登录到 SentinelOne Singularity 控制台,并导航到 事件搜索。选择包含您日志的帐户或站点。
  2. 设置时间范围。 选择您要调查的时间段,并确保包含正确的数据源。
  3. 运行一个查询。 启用 PowerQuery 并输入一个搜索过滤器,例如 endpoint.name = “WS-042″。运行搜索。
  4. 查看结果。 检查匹配的事件,并选择您需要的字段,例如 timestamp、endpoint.name、event.type、src.process.cmdline 和 tgt.process.cmdline。如果您需要独立的日志事件,请避免使用聚合函数。
  5. 导出结果。 使用 导出 or 下载 选项。在结果区域中,根据控制台版本和搜索模式,您可能能够选择 CSV、JSON 和纯文本。
  6. 保存文件。 将结果下载到您的计算机上。当有可用时,优先选择 JSON,特别是对于结构化的端点遥测。对于第三方日志,保留包含原始日志文本的消息字段。

限制。 导出格式和结果限制因控制台版本和搜索模式而异。大型搜索还可能超过 UI 导出限制;缩小时间范围或使用数据湖 API 获取更大的数据集。

在 LogTotal 中上传、清理和查看

  1. 上传。 打开 logtotal.com 并拖入 .jsonl 文件。
  2. 清理。 
  3. 查看。 

出现问题时

症状可能原因Fix
401令牌无效,或用户缺乏数据湖查询权限检查角色的 SDL 权限
令牌有效,结果为空服务用户创建在错误的范围在持有数据的帐户或站点创建它
连接或 404 错误区域 URL 错误使用您的控制台帮助部分的 URL
结果在某个整数数目时停掉行限制拆分时间窗口
字段返回为空该数据源的字段名称不同在事件搜索中检查名称

FAQ

Deep Visibility 怎么了?

Deep Visibility 是 SentinelOne 早期的遥测搜索。当前的控制台使用 Singularity 数据湖和 PowerQuery 来完成相同的工作,而这正是本指南所涵盖的路线。

我可以导出存储在数据湖中的第三方日志吗?

可以,方式相同。过滤数据源并保留包含原始消息的字段。

加入 SOC Prime 的 Detection as Code 平台 以提高对与您的业务最相关的威胁的可见性。为了帮助您开始并带来即时价值,现在与 SOC Prime 专家预约会议。