为 Azure 优化引擎配置工作区

本文介绍如何为 Azure 优化引擎(AOE)配置 Log Analytics 工作区。


配置性能计数器

要充分利用虚拟机 (VM) 的增大到合适大小的建议,需将 VM 的日志发送到 Log Analytics 工作区。 Tt 通常应该是你在 AOE 安装时选择的选项,但也可以选择不同的选项,并且需要虚拟机发送特定的性能计数器。 所需的计数器列表在perfcounters.json中定义(可在AOE 根文件夹中找到)。 AOE 提供了一些工具,可帮助你验证和修复配置的 Log Analytics 性能计数器。 它们取决于用于从计算机收集日志的代理类型。

Azure Monitor 代理(首选方法)

借助Setup-DataCollectionRules.ps1脚本,你可以创建多个数据收集规则(DCR),每个操作系统类型一个,并配置这些规则将性能计数器流式传输到你选择的 Log Analytics 工作区。 使用以下脚本创建 DCR 后,只需手动或自动(例如,使用 Azure Policy)将 VM 关联到相应的 DCR。

要求

Install-Module -Name Az.Accounts
Install-Module -Name Az.Resources
Install-Module -Name Az.OperationalInsights

使用情况

./Setup-DataCollectionRules.ps1 -DestinationWorkspaceResourceId <Log Analytics workspace ARM resource ID> [-AzureEnvironment <AzureChinaCloud|AzureUSGovernment|AzureCloud>] [-IntervalSeconds <performance counter collection frequency - default 60>] [-ResourceTags <hashtable with the tag name/value pairs to apply to the DCR>]

# Example 1 - create Linux and Windows DCRs with the default options
./Setup-DataCollectionRules.ps1 -DestinationWorkspaceResourceId "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myResourceGroup/providers/Microsoft.OperationalInsights/workspaces/myWorkspace"

# Example 2 - create DCRs using a custom counter collection frequency and assigning specific tags
./Setup-DataCollectionRules.ps1 -DestinationWorkspaceResourceId "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myResourceGroup/providers/Microsoft.OperationalInsights/workspaces/myWorkspace" -IntervalSeconds 30 -ResourceTags @{"tagName"="tagValue";"otherTagName"="otherTagValue"}

Log Analytics 代理(旧版中的 Microsoft Monitoring Agent,已于 2024 年 8 月 31 日弃用)

如果仍在使用旧 Log Analytics 代理,请迁移到 Azure Monitor 代理


性能日志成本估算

表中每个性能计数器条目 Perf 的大小各不相同,具体取决于每个 OS 类型的 7 个所需计数器。 下表枚举每个性能计数器条目的大小(以字节为单位)。

OS 类型 对象 计数器 大小 每个间隔/VM 的集合数
Windows操作系统 处理器 处理器时间百分比 200 1 + vCPU 计数
Windows操作系统 内存 可用字节数 (MB) 220 1
Windows操作系统 LogicalDisk 磁盘读取字节数/秒 250 3 + 数据磁盘计数
Windows操作系统 LogicalDisk 磁盘写入字节数/秒 250 3 + 数据磁盘计数
Windows操作系统 LogicalDisk 磁盘读取数/秒 250 3 + 数据磁盘计数
Windows操作系统 LogicalDisk 磁盘写入数/秒 250 3 + 数据磁盘计数
Windows操作系统 网络适配器 字节总数/秒 290 网络适配器计数
Linux 处理器 处理器时间百分比 200
Linux 内存 已用内存百分比 200
Linux 逻辑磁盘 磁盘读取字节数/秒 250 3 + 数据磁盘计数
Linux 逻辑磁盘 磁盘写入字节数/秒 250 3 + 数据磁盘计数
Linux 逻辑磁盘 磁盘读取数/秒 250 3 + 数据磁盘计数
Linux 逻辑磁盘 磁盘写入数/秒 250 3 + 数据磁盘计数
Linux 网络 字节数总计 200 网络适配器计数

总之,Windows VM 平均每个性能计数器条目生成 245 字节,而 Linux 则稍微少一些,为每个条目消耗 230 字节。 但是,根据 CPU 核心数、数据磁盘或网络适配器的数量,VM 会生成或多或少的 Log Analytics 条目。 例如,具有 4 个 vCPU、1 个数据磁盘和 5 个网络适配器的 Windows VM 会为每个收集间隔生成 5 * 200 + 220 + 4 * 250 + 4 * 250 + 4 * 250 + 5 * 290 = 6670 字节(6.5 KB)。 如果将性能计数器间隔设置为 60 秒,则每月有 60 * 24 * 30 * 6.5 = 280800 KB (274 MB) 的引入数据。 这意味着按 Log Analytics 的零售价格(即用即付),其数据摄取成本低于 0.70 欧元/月。


使用多个工作区来处理性能日志。

若要在 VM 合适大小建议报表中包含来自多个 Log Analytics 工作区的 VM,请向 AOE Azure 自动化 帐户中添加新变量。 可以将任何工作区添加到 AOE 的范围,前提是 AOE 托管标识对该工作区具有读取者权限。 工作区可以位于同一订阅中,也可以位于同一租户甚至不同租户(借助 Lighthouse 实现)的任何其他订阅中。

显示添加自动化帐户变量的屏幕截图,其中包含其他工作区 ID 的 VM 合适大小建议的列表。


相关产品:

相关解决方案: