📌  相关文章
📜  Microsoft Azure – 使用 Azure KQL 查询系统事件日志数据

📅  最后修改于: 2022-05-13 01:56:17.914000             🧑  作者: Mango

Microsoft Azure – 使用 Azure KQL 查询系统事件日志数据

在本文中,我们将使用 Kusto 查询语言 (KQL) 从日志分析数据源中找到 Windows 和 Linux 机器的系统事件日志数据。可以使用 KQL 事件运算符检索捕获的系统事件日志。 KQL 事件运算符可帮助用户对 Windows 或 Linux 系统故障、警告和其他信息源进行故障排除。这可以在不登录系统的情况下实现。可以访问数据,也可以从 azure 监视器本身导出数据。

先决条件:

  • 应启用 Log Analytics 工作区代理配置以捕获日志事件。

1. 从选择订阅中获取所有系统事件日志:

从选择订阅或订阅或范围中查找所有系统事件日志的默认 KQL 查询:

Event
| where TimeGenerated > ago(1d) and EventLog has "System"

输出:

2. 从 Select Subscription 中获取所有系统事件日志 ID:

从选择订阅或订阅或范围中查找所有系统事件日志 ID 的 KQL 查询:

Event
| where TimeGenerated > ago(1d)
| where EventLog has "System"
| distinct EventID

输出:

3. 获取 Select Event ID 的系统事件日志:

用于查找所选事件 ID 或多个事件 ID 的系统事件日志的 KQL 查询。

示例 1:要查找 select 事件 id 的系统事件日志,假设选择范围中的 7031。

Event
| where TimeGenerated > ago(1d)
| where EventLog has "System"
| where EventID == "7031"

输出:

示例 2:要查找多事件 id 的系统事件日志,假设选择范围中的 7031 和 7000。

Event 
| where TimeGenerated > ago(1d)
| where EventLog has "System"
| where EventID == "7031" or EventID == "7000"

输出:

4. 获取生成的事件:

KQL 日志查询查找为选择订阅或订阅生成的所有事件,并仅投影事件时间戳、系统中的应用程序源、事件日志类型、事件 ID、事件日志描述和事件生成资源 ID 的信息:

Event 
| where TimeGenerated > ago(1d)
| where EventLog has "System" and EventID != ""
| project TimeGenerated, Source, EventLog, EventID, RenderedDescription, _ResourceId

输出: