📌  相关文章
📜  Microsoft Azure – 使用 KQL 日志查询跟踪 Azure 虚拟机的 CPU 利用率

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

Microsoft Azure – 使用 KQL 日志查询跟踪 Azure 虚拟机的 CPU 利用率

在本文中,我们将研究使用 KQL 日志查询查找所有 Azure 虚拟机的最小、平均和最大 CPU 利用率的过程。

此处 Perf KQL Counter Operator 用于从收集的数据日志中查找 Azure 虚拟机的性能。

执行:

按照以下步骤运行日志查询。

步骤 1:登录到 Azure 门户。

第 2 步:搜索/转到Log Analytics 工作区并选择您的Log Analytics 工作区。如果您没有,请创建一个并启用代理配置。

  • 然后,从左侧菜单导航到General >> Logs。

现在,粘贴以下查询以获取日志数据。

在运行查询之前了解查询语法。

以下所有示例的说明:

这里, Perf代表性能,这是一个运算符,用于获取 Azure Compute 资源(如 Azure VM、SQL Server、磁盘存储等)的性能日志。

我们使用ObjectName == “Processor” 和 CounterName == “% Processor Time”这两个条件都使用where关键字过滤 Windows 和 Linux VM 的进程组件。

TimeGenerated > ago(7d) 或 TimeGenerated > ago(5h)有助于过滤在该时间跨度内收集的日志。

使用summarise关键字,我们以表格图表的形式呈现所需的数据。

用于分析 Azure VM 的 CPU 性能的 KQL 查询。

示例:查找过去 7 天 Azure 虚拟机的最低 CPU 利用率。

Perf  
| where ObjectName == "Processor" and CounterName == "% Processor Time" and InstanceName == "_Total"
| where TimeGenerated > ago(7d)
| summarize MIN_CPU = min(CounterValue) by Computer, _ResourceId

输出:

示例:查找过去 5 小时内 Azure 虚拟机的最低 CPU 利用率

Perf 
| where ObjectName == "Processor" and CounterName == "% Processor Time" and InstanceName == "_Total"
| where TimeGenerated > ago(5h)
| summarize MIN_CPU = min(CounterValue) by  Computer, _ResourceId

输出:

示例:查找过去 7 天 Azure 虚拟机的平均 CPU 利用率

Perf 
| where ObjectName == "Processor" and CounterName == "% Processor Time" and InstanceName == "_Total"
| where TimeGenerated > ago(7d)
| summarize AVG_CPU = avg(CounterValue) by  Computer, _ResourceId

输出:

示例:查找过去 5 小时内 Azure 虚拟机的平均 CPU 利用率。

Perf 
| where ObjectName == "Processor" and CounterName == "% Processor Time" and InstanceName == "_Total"
| where TimeGenerated > ago(5h)
| summarize AVG_CPU = avg(CounterValue) by  Computer, _ResourceId

输出:

示例:查找过去 7 天 Azure 虚拟机的最大 CPU 利用率。

Perf 
| where ObjectName == "Processor" and CounterName == "% Processor Time" and InstanceName == "_Total"
| where TimeGenerated > ago(7d)
| summarize MAX_CPU = max(CounterValue) by  Computer, _ResourceId

输出:

示例:查找过去 5 小时内 Azure 虚拟机的最大 CPU 利用率。

Perf 
| where ObjectName == "Processor" and CounterName == "% Processor Time" and InstanceName == "_Total"
| where TimeGenerated > ago(2h)
| summarize MAX_CPU = max(CounterValue) by Computer, _ResourceId

输出:

示例:在单个表格图表中分析最近 7 天的 VM CPU 利用率最小值、平均值和最大值。

Perf  
| where ObjectName == "Processor" and CounterName == "% Processor Time" and InstanceName == "_Total"
| where TimeGenerated > ago(7d)
| summarize MIN_CPU = min(CounterValue), AVG_CPU = avg(CounterValue), MAX_CPU = max(CounterValue) by  Computer, _ResourceId

输出:

示例:在单个表格图表中分析过去 5 小时的 VM CPU 利用率最小值、平均值和最大值。

Perf  
| where ObjectName == "Processor" and CounterName == "% Processor Time" and InstanceName == "_Total"
| where TimeGenerated > ago(5h)
| summarize MIN_CPU = min(CounterValue), AVG_CPU = avg(CounterValue), MAX_CPU = max(CounterValue) by  Computer, _ResourceId

输出:

注意:此过程适用于两种操作系统类型。即,Windows 和 Linux。

就是这样,我们完成了。