VMware ESX 审计

VMware ESX 审计

我希望生成一个 Excel 电子表格,其中包含有关我公司位于 7 个 ESX 3.5 服务器上的约 140 台虚拟机的各种信息 - 具体来说,虚拟机的:

  • 姓名
  • 分配的内存、处理器、硬盘
  • 给定时间段内的平均内存、处理器利用率
  • 给定时间段内的最大内存、处理器利用率

我知道我可以手动填写电子表格,但我正在寻找一个可以按计划运行以密切关注事态的脚本(可能是 powershell)。

谢谢!

答案1

如果你想要一个真正全面的解决方案,请查看VI 强力文档管理器。不过这对你来说可能有点过度了。

这是一个 PowerShell 脚本,它将获取您正在寻找的大部分信息并导出到 CSV,当然您可以在 Excel 中轻松使用它。

param ( $Path )
Connect-VIServer -Server MyVIServer
$HDPrimarySize = @{
    Name = "Primary HD Size (GB)"
    Expression = { $_.HardDisks[0].CapacityKB / 1MB }
}
$AvgMemUsage = @{
    Name = "Mem Usage (Daily Avg %)"
    Expression = { ($_ | Get-Stat -Stat mem.usage.average -MaxSamples 1 -ErrorAction SilentlyContinue ).Value }
}
$vm = Get-VM
$output = $vm | Select-Object Name, MemoryMB, NumCpu, $HDPrimarySize, $AvgMemUsage 
$output | Export-Csv -NoTypeInformation -Path $Path

答案2

VMware 发布了一款 Powershell 工具包,你可能想看看:

http://blogs.vmware.com/vipowershell/

这里有一篇博客介绍了 VMware 管理员应该使用的 10 大 Powershell 脚本:

http://vsphere-land.com/top-10-list/top-10-powershell-scripts-that-vmware-administrators-must-use.html

答案3

另一个答案(如果您偏爱 SQL 并且对此感到厌烦)是,您可以打开 Excel,连接到 SQL 数据源,连接到托管虚拟中心的 SQL 实例,并查询虚拟中心“在幕后”使用的视图,以推出您自己的报告解决方案。这样做的好处是,它将始终保持最新,因为它的数据来自您的 SQL,并且它是完全可定制的,只要您足够熟悉在 Excel 中执行此操作(或者如果您是高级用户/厌烦用户,甚至可以使用 Reporting Services)。

答案4

获取 VMStat是使用 PowerShell 实现此目的的简单方法。我有一个博客文章如果您是 PowerShell 新手,则概述如何使用该脚本。

相关内容