如果azure VM闲置了30分钟,我需要将其关闭

如果azure VM闲置30分钟,则需要将其关闭。闲置是指CPU百分比小于30%。我该如何实现?

我尝试过使用运行簿默认功能,但是它具有关机和启动功能,但没有空闲时间。

wuhengqu520 回答:如果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指标数据,因为这会有一些延迟。

本文链接:https://www.f2er.com/3066222.html

大家都在问