如果azure VM闲置了30分钟,我需要将其关闭。如何实现此目标。请使用任何解决方案。
我已经尝试过使用运行簿默认功能,但是它具有关机和启动功能,但没有空闲时间。
由Powershell尝试:
$vm = Get-AzureRmVM -Name <your vm name> -ResourceGroupName <your resource group name>
$current = Get-Date
#get cpuMetrics for each minute in past 30 mins
$cpuMetrics = Get-AzureRmMetric -ResourceId $vm.Id -TimeGrain 00:01:00 -StartTime $current.AddMinutes(-30) -EndTime $current -DetailedOutput -MetricNames "Percentage CPU"
$CPUUsangeRange = ($cpuMetrics.Data | select Average).Average | measure -Maximum
#get Maximum value of cpu usage percentage in past 30 mins, if the Maximum value less than 30% ,its idle and stop it .
if($CPUUsangeRange.Maximum -lt 30){
Stop-AzureRMvm -Name $vm.Name -ResourceGroupName $vm.ResourceGroupName -Force
}
有时您可能无法获得最近2或3分钟的CPU指标数据,因为会有一些延迟。