Перейти к содержимому
www.mytechnote.ru
Меню
  • Администрирование
    • Скрипты
  • Оборудование
    • Обзоры
    • Инструкции
  • Прочее
  • Русский
    • English
    • Русский
Меню

Скрипт для мониторинга свободного места на датасторах в 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%.

Опубликовано в 05.11.201930.05.2024 от sanglyb

Навигация по записям

← Набор отвёрток от Xiaomi и магнитный коврик для винтов [MiJia Wiha, Screw Pad]
Redmi Note 8 – обзор [Xiaomi] →

Добавить комментарий Отменить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Подписывайтесь

Youtube
vk
telegram
github
twitter
rss
  • Форум
  • Об авторе
  • Поддержать автора

Популярные записи

Новые записи

  • Как расширить LVM раздел в Linux
  • Исправление ошибки SrsResources.dll после обновления SSRS для SCCM
  • Проблема при использовании библиотеки PassFiltEx на старых процессорах
  • Как удалить вложения из старых событий календаря в Exchange с помощью скрипта
  • Как скачать и установить Office 2024 LTSC

Архивы

  • 2026 (3)
  • 2025 (5)
  • 2024 (7)
  • 2023 (6)
  • 2022 (5)
  • 2021 (25)
  • 2020 (34)
  • 2019 (39)
  • 2018 (78)
  • 2017 (56)
  • 2016 (77)
  • 2015 (9)
© 2015-2026 www.mytechnote.ru
Использование материалов сайта возможно только с разрешения владельца или обязательна индексируемая, прямая, передающая вес ссылка на материал.