Qui bouffe mon stockage?
voici un petit script vraiment utile pour connaître la consommation de bande passante stockage sur les VMs.
J’utilise des filtres (dossiers, datastores, etc) pour colliger les données.
Les « vm_data » sont des filtres que j’utilise pour aller chercher des endroits spécifiques, comme les dossiers Management, Direction, etc.
#Nombre de jour en arriere pour les stats
$daysback = -1
#nom des filtres. il faut ajouter ou soustraire ensuite)
$vm_data = read-host « Filter name 1 »
#$vm_data2 = read-host « Filter name 2 »
#$vm_data3 = read-host « Filter name 3 »
#$vm_data4 = read-host « Filter name 4 »
#$vm_data5 = read-host « Filter name 5 »
#$vm_data6 = read-host « Filter name 6 »
#$vm_data7 = read-host « Filter name 7 »
#$vm_data8 = read-host « Filter name 8 »
#$vm_data9 = read-host « Filter name 9 »
#$vm_data10 = read-host « Filter name 10 »
#Décider comment on filtre les VMs…. par folder, datastore, etc
$vms = Get-Folder | where {($_.Name -like « *$vm_data* » )}| get-vm | where {$_.PowerState -eq « PoweredOn » }
#2 filtres
#$vms = Get-Folder | where {($_.Name -like « *$vm_data* » ) -or ($_.Name -like « *$vm_data2* » )}| get-vm | where {$_.PowerState -eq « PoweredOn » }
#10 filtres
#$vms = Get-Datastore | where {($_.Name -like « *$vm_data* » ) -or ($_.Name -like « *$vm_data2* » ) -or ($_.Name -like « *$vm_data3* » ) -or ($_.Name -like « *$vm_data4* » ) -or ($_.Name -like « *$vm_data5* » ) -or ($_.Name -like « *$vm_data6* » ) -or ($_.Name -like « *$vm_data7* » ) -or ($_.Name -like « *$vm_data8* » ) -or ($_.Name -like « *$vm_data9* » ) -or ($_.Name -like « *$vm_data10* » )}| get-vm | where {$_.PowerState -eq « PoweredOn » }
write-host ( « {0,-70}`t{1,8}`t{2,8}`t{3,8}`t{4,8} » -f « VM », « WIOPSavg », « RIOPSavg », « WIOPSmax », « RIOPSmax » ) `
; $vms | sort | % {
$wval = (((Get-Stat $_ -stat « datastore.numberWriteAveraged.average » -Start (Get-Date).adddays($daysback) -Finish (Get-Date) ) | select -expandproperty Value) | measure -average -max);
$rval = (((Get-Stat $_ -stat « datastore.numberReadAveraged.average » -Start (Get-Date).adddays($daysback) -Finish (Get-Date) ) | select -expandproperty Value) | measure -average -max);
write-host ( « {0,-70}`t{1,8:N2}`t{2,8:N2}`t{3,8:N2}`t{4,8:N2} » -f $_.Name, $wval.average, $rval.average, $wval.maximum, $rval.maximum )
}