📌  相关文章
📜  Microsoft Azure – 使用 KQL 日志查询跟踪 Azure VM 的内存利用率

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

Microsoft Azure – 使用 KQL 日志查询跟踪 Azure VM 的内存利用率

在本文中,我们将研究使用 KQL 日志查询查找所有 Azure 虚拟机的最小、平均和最大内存利用率的过程。这里我们是 Perf KQL Counter Operator,它用于从收集的数据日志中查找 Azure 虚拟机的性能。

执行:

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

步骤 1:登录到 Azure 门户。

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

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

  • 现在,粘贴以下查询以获取日志数据。
  • 在运行查询之前了解查询语法。

以下所有示例的说明:

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

我们使用ObjectName == “Memory”CounterName == “% Committed Bytes In Use” (计算 Windows 指标)和CounterName == “% Used Memory” (计算 Linux 指标)这些条件过滤内存性能使用 where 关键字的 Windows 和 Linux VM 组件。

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

随着总结 关键字我们正在以表格图表的形式呈现所需的数据。

查找以下用于分析 Azure VM 内存性能的 KQL 查询。

示例:查找最近 7 天的 Azure 虚拟机的最低内存利用率

Perf  
| where ObjectName == "Memory"
| where CounterName == "% Used Memory" or CounterName == "% Committed Bytes In Use"
| where TimeGenerated > ago(7d)
| summarize MIN_MEMORY = min(CounterValue) by Computer, _ResourceId

输出:

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

Perf  
| where ObjectName == "Memory"
| where CounterName == "% Used Memory" or CounterName == "% Committed Bytes In Use"
| where TimeGenerated > ago(5h)
| summarize MIN_MEMORY = min(CounterValue) by Computer, _ResourceId

输出:

示例 1:查找过去 7 天 Azure 虚拟机的平均内存利用率。

Perf  
| where ObjectName == "Memory"
| where CounterName == "% Used Memory" or CounterName == "% Committed Bytes In Use"
| where TimeGenerated > ago(7d)
| summarize AVG_MEMOERY= avg(CounterValue) by Computer, _ResourceId

输出:

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

Perf 
| where ObjectName == "Memory"
| where CounterName == "% Used Memory" or CounterName == "% Committed Bytes In Use"
| where TimeGenerated > ago(7d)
| summarize AVG_MEMOERY= avg(CounterValue) by Computer, _ResourceId

输出:

示例 3:查找过去 7 天 Azure 虚拟机的最大内存利用率

Perf  
| where ObjectName == "Memory"
| where CounterName == "% Used Memory" or CounterName == "% Committed Bytes In Use"
| where TimeGenerated > ago(7d)
| summarize MAX_MEMORY = max(CounterValue) by Computer,  _ResourceId

输出:

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

Perf  
| where ObjectName == "Memory"
| where CounterName == "% Used Memory" or CounterName == "% Committed Bytes In Use"
| where TimeGenerated > ago(5h)
| summarize  MAX_MEMORY = max(CounterValue) by Computer,  _ResourceId

输出:

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

Perf  
| where ObjectName == "Memory"
| where CounterName == "% Used Memory" or CounterName == "% Committed Bytes In Use"
| where TimeGenerated > ago(7d)
| summarize MIN_MEMORY = min(CounterValue), AVG_MEMOERY= avg(CounterValue), MAX_MEMORY = max(CounterValue) by Computer,  _ResourceId

输出:

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

Perf  
| where ObjectName == "Memory"
| where CounterName == "% Used Memory" or CounterName == "% Committed Bytes In Use"
| where TimeGenerated > ago(5h)
| summarize MIN_MEMORY = min(CounterValue), AVG_MEMOERY= avg(CounterValue), MAX_MEMORY = max(CounterValue) by Computer,  _ResourceId

输出:

就是这样,你完成了。