向您区域的数据湖 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。
- 打开事件搜索。 登录到 SentinelOne Singularity 控制台,并导航到 事件搜索。选择包含您日志的帐户或站点。
- 设置时间范围。 选择您要调查的时间段,并确保包含正确的数据源。
- 运行一个查询。 启用 PowerQuery 并输入一个搜索过滤器,例如 endpoint.name = “WS-042″。运行搜索。
- 查看结果。 检查匹配的事件,并选择您需要的字段,例如 timestamp、endpoint.name、event.type、src.process.cmdline 和 tgt.process.cmdline。如果您需要独立的日志事件,请避免使用聚合函数。
- 导出结果。 使用 导出 or 下载 选项。在结果区域中,根据控制台版本和搜索模式,您可能能够选择 CSV、JSON 和纯文本。
- 保存文件。 将结果下载到您的计算机上。当有可用时,优先选择 JSON,特别是对于结构化的端点遥测。对于第三方日志,保留包含原始日志文本的消息字段。
限制。 导出格式和结果限制因控制台版本和搜索模式而异。大型搜索还可能超过 UI 导出限制;缩小时间范围或使用数据湖 API 获取更大的数据集。
在 LogTotal 中上传、清理和查看
- 上传。 打开 logtotal.com 并拖入 .jsonl 文件。
- 清理。
- 查看。
出现问题时
| 症状 | 可能原因 | Fix |
|---|---|---|
| 401 | 令牌无效,或用户缺乏数据湖查询权限 | 检查角色的 SDL 权限 |
| 令牌有效,结果为空 | 服务用户创建在错误的范围 | 在持有数据的帐户或站点创建它 |
| 连接或 404 错误 | 区域 URL 错误 | 使用您的控制台帮助部分的 URL |
| 结果在某个整数数目时停掉 | 行限制 | 拆分时间窗口 |
| 字段返回为空 | 该数据源的字段名称不同 | 在事件搜索中检查名称 |
FAQ
Deep Visibility 怎么了?
Deep Visibility 是 SentinelOne 早期的遥测搜索。当前的控制台使用 Singularity 数据湖和 PowerQuery 来完成相同的工作,而这正是本指南所涵盖的路线。
我可以导出存储在数据湖中的第三方日志吗?
可以,方式相同。过滤数据源并保留包含原始消息的字段。