【发布时间】:2019-10-01 06:29:29
【问题描述】:
我正在尝试编写一个脚本以使 VM 关机日期和时间超过 30 天(自 Vsphere 设置以来的所有时间),我知道它们只有在我解析关闭电源的虚拟机的最新 vmware.log 并检查其中的最后一个字符串日期。
我有一个包含在这个脚本下面的脚本,它只给了我过去 30 天的输出
```
$VMs = get-vm | Where powerstate -eq "poweredoff"
Get-VIEvent -Entity $VMs -MaxSamples ([int]::MaxValue) |
where {$_ -is [VMware.Vim.VmPoweredOffEvent]} |
Group-Object -Property {$_.Vm.Name} | %{
$lastPO = $_.Group | Sort-Object -Property CreatedTime -Descending | Select -First 1
$vm = Get-VIObjectByVIView -MORef $_.Group[0].VM.VM
$cloumn = '' | select VMName,Powerstate,PowerOFF
```
在 vmware 日志文件的帮助下,我预计 30 天以上的结果,目前我得到了 30 天的结果
【问题讨论】:
-
我不得不做类似的事情,我们在大型环境中遇到了 VMWare 日志记录崩溃 vcenter 的问题,因此我们的历史记录在某些环境中关闭或设置为 7 天。为了解决这个问题,我将每个事件都放入 influx db(每小时分批),然后将 influx db 设置为在 6 个月后自动清除数据。然后我可以实现上述目标。