Вы здесь

Скрипт для мониторинга свободного места на датасторах в VCenter


Скрипт для мониторинга свободного места на датасторах в VCenter

Потребовался простенький скрипт для мониторинга свободного места на датасторах в VMware VCenter, и сохранения отчета в файл CSV. Решил поделиться им, т.к. думаю он может еще кому-нибудь пригодится, особенно если вы используете динамически расширяемые диски для виртуальных машин.

Ссылка на github - ]]>https://github.com/sanglyb/check-datastores-space]]>

Текст скрипта:

Connect-VIServer "vcenter"
$timestamp = Get-date -format "_yyMMdd_HHmmss"
$reportPath="C:\reports\datastoresSpace" + $timestamp + ".csv"

$datastores = Get-Datastore | Select -Property Name, Datacenter,
    @{N="CapacityGB";E={[math]::round($_.ExtensionData.Summary.Capacity/1GB)}},
    @{N="ProvisionedGB"; E={[math]::round(($_.ExtensionData.Summary.Capacity - $_.ExtensionData.Summary.FreeSpace + $_.ExtensionData.Summary.Uncommitted)/1GB)}},
    @{N="FreeSpaceGB";E={[math]::round($_.ExtensionData.Summary.FreeSpace/1GB)}},
    @{N="Status";E={"OK"}},
    @{N="PercentFree";E={"0"}}, @{N="Comment";E={""}} | Sort-Object -Property Name
$result=@()
foreach ($datastore in $datastores)
    {
        $datastore.PercentFree=[math]::Round(100*$datastore.FreeSpaceGB/$datastore.CapacityGB)
        if($datastore.ProvisionedGB -gt $datastore.CapacityGB){
            $datastore.Comment="Capacity space is less then Provisioned space of datastore"
            if($datastore.PercentFree -lt "5"){
                $datastore.status="Critical"
            }
            else{
                $datastore.status="Warning"
            }
        }
        elseif($datastore.PercentFree -lt "5"){
            $datastore.status="Critical"
        }
        elseif($datastore.PercentFree -lt "10"){
            $datastore.status="Warning"
        }
        $result+=$datastore
        
    }
$result | export-csv -Path $reportPath -Delimiter ";" -NoTypeInformation

Для его запуска необходим PowerCLI, собственно, запускать его нужно также из PowerCLI

Пару слов о скрипте.

Connect-VIServer "vcenter"

Тут должен быть адрес вашего vcenter.

В строке

$reportPath="C:\reports\datastoresSpace" + $timestamp + ".csv"

Указываем путь, куда будет сохраняться отчет.

Ниже думаю всё и так понятно – считаем, что статус критический, если места меньше 5%, и предупреждение, если меньше 10%. Если же выполняется условие, что на датасторе создано ресурсов по объему больше, чем объемо самого датастора – то статус всегда – предупреждение, и критический, если места меньше чем 5%.

1 0

Поделитесь статьей с друзьями в соц. сетях, возможно, она будет им полезна.


Если вам помогла статья, вы можете >>отблагодарить автора<<