Sentinel 数据位于日志分析工作区中,因此导出是一个 KQL 查询,并附带一种将结果保存为 JSON 的方法。最简单的方法是使用 Azure CLI:az monitor log-analytics query 每行返回一个 JSON 对象。门户的导出按钮生成一个电子表格样式的文件,LogTotal 今天还不能读取,所以请使用 CLI 或 PowerShell 进行上传。
Sentinel 从各处收集数据:Windows、Linux、Entra ID、Microsoft 365、防火墙、云。这使得它成为提取调查片段的自然场所。Prime Core 拥有 23,700 条 Microsoft Sentinel 检测规则,与 674 个 MITRE ATT&CK 技术相映射。下面是如何获取数据、清理数据并在 LogTotal 中免费调查数据的方法。
开始之前
权限。 工作区上的日志分析读者或 Microsoft Sentinel 读者就足够了。
工作区 ID。 CLI 需要的是工作区的 GUID,而不是其名称,该 GUID 可从工作区的概述页面获得。
了解你的表。 最重要的表:SecurityEvent(Windows)、Syslog(Linux)、SigninLogs 和 AuditLogs(Entra ID)、OfficeActivity(Microsoft 365)、CommonSecurityLog(来自防火墙和其他设备的 CEF)、AzureActivity 以及任何自定义的 _CL 表。
保留层。 可以直接查询交互保留中的数据。而已进入长期保留的数据不能:你需要先进行搜索作业或恢复。一些表计划(基础计划、辅助计划)也限制 KQL 的功能。
写 KQL 的位置。 取决于你的租户的设置,可能是 Microsoft Defender 门户中的高级搜捕 或 Azure 门户中的日志。 查询是相同的。
命令遵循 Microsoft 的文档,检查于 2026 年 10 月。
步骤 1:编写查询
保持事件记录。如果你想返回日志,请不要汇总。对于 Linux SSH 活动:
Syslog
| where TimeGenerated between (datetime(2026-10-19) .. datetime(2026-10-20))
| where Computer == "web-03"
| where ProcessName in ("sshd", "sshd-session")
对于 Windows 登陆和域控制器上的账户更改:
SecurityEvent
| where TimeGenerated between (datetime(2026-10-19) .. datetime(2026-10-20))
| where Computer startswith "DC-01"
首先在门户中运行并检查行数。
步骤 2:导出为 JSON
Azure CLI:
az login
az monitor log-analytics query
--workspace <workspace-guid>
--analytics-query "Syslog | where TimeGenerated between (datetime(2026-10-19) .. datetime(2026-10-20)) | where Computer == 'web-03'"
--output json > sentinel_web03_1019.json
jq -c '.[]' sentinel_web03_1019.json > sentinel_web03_1019.jsonl
第一次运行可能会提示安装 log-analytics 扩展。选择“是”。
PowerShell (Az 模块):
Connect-AzAccount
$kql = "SecurityEvent | where TimeGenerated between (datetime(2026-10-19) .. datetime(2026-10-20)) | where Computer startswith 'DC-01'"
(Invoke-AzOperationalInsightsQuery -WorkspaceId '<workspace-guid>' -Query $kql).Results |
ForEach-Object { $_ | ConvertTo-Json -Compress } | Out-File sentinel_dc01_1019.jsonl -Encoding utf8
查询结果在行数和大小上是有限制的。对于繁忙的表,将时间窗口拆分成小时,并对每个片段运行一次导出。
步骤 3:在 LogTotal 中上传、清理和检查
- 上传。 打开 logtotal.com 并放入 .jsonl 文件。
- 清理。
- 检查。
当出现问题时
| 症状 | 可能的原因 | Fix |
|---|---|---|
| CLI 询问关于扩展的问题 | 未安装 log-analytics | 接受,或使用 az extension add –name log-analytics |
| 未找到工作区 | 使用了名称而不是 GUID | 使用其概述页面中的工作区 ID |
| 行数少于预期 | 结果限制 | 拆分时间窗口 |
| 旧数据没有返回任何内容 | 它处于长期保留中 | 先运行一个搜索作业或恢复 |
| 禁止 | 缺少工作区上的阅读者角色 | 请求日志分析阅读者角色 |
FAQ
我能获得原始的 Windows 事件吗?
您将获得解析后的 SecurityEvent 行,其中原始事件数据在 EventData 列中。不是 EVTX 文件。对于 EVTX,从主机导出。
Sentinel 中的 Defender XDR 数据呢?
如果您使用统一的 Defender 门户,先进的搜捕可以同时查询 Defender 和 Sentinel 表。