本文介绍如何为 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 实现)的任何其他订阅中。
相关内容
相关产品:
相关解决方案: