Microsoft Azure – 使用 Azure KQL 查询应用程序事件日志数据
在本文中,我们将使用自定义查询语言 (KQL) 从日志分析数据源中查找应用程序事件日志数据。应使用 KQL 事件运算符检索捕获的应用程序事件日志。此 KQL 事件运算符可帮助用户对所有应用程序的应用程序故障、警告和其他信息源进行故障排除,而无需登录应用程序。可以从 Azure Monitor 本身捕获或导出数据。
先决条件:
- 应启用 Log Analytics 工作区代理配置以捕获日志事件。
1. 从选择订阅中获取应用程序事件日志:
从选择订阅或订阅或范围中查找所有事件日志的默认 KQL 查询:
Event
| where EventLog has "Application" and TimeGenerated > ago(1d)
输出:
2. 从 Select Scope 中获取所有应用程序事件日志 ID:
用于从选择范围中查找所有捕获的应用程序事件日志 ID 的 KQL 查询。
Event
| where EventLog has "Application" and TimeGenerated > ago(1d)
| distinct EventID
输出:
3. 获取选择事件 ID 的应用程序事件日志:
用于查找选择事件 ID 或多个事件 ID 的应用程序事件日志的 KQL 查询
示例 1:至 从选择范围中找到选择事件 ID 的应用程序事件日志,比如说 455。
Event
| where EventLog has "Application" and TimeGenerated > ago(1d)
| where EventID == "455"
输出:
示例 2:要查找多个事件 id 的应用程序事件日志,假设选择范围中的 455 和 1022。
Event
| where EventLog has "Application" and TimeGenerated > ago(1d)
| where EventID == "455" or EventID == "1022"
输出:
4. 获取生成的事件:
KQL 日志查询查找为选择订阅或订阅生成的所有事件,并仅投影事件时间戳、源应用程序、事件日志类型、事件 ID、事件日志描述和事件生成资源 ID 的信息。
Event | where EventLog has "Application" and TimeGenerated > ago(1d)
| where EventID != ""
| project TimeGenerated, Source, EventLog, EventID, RenderedDescription, _ResourceId
输出: