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

问题描述 投票:0回答:1

如果azure VM闲置了30分钟,我需要将其关闭。如何实现此目标。请使用任何解决方案。

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

azure azure-powershell azure-automation azure-runbook azure-vm-role
1个回答
0
投票

由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指标数据,因为会有一些延迟。

© www.soinside.com 2019 - 2024. All rights reserved.