Размер каталога Monitoring Windows

Я ищу что-то, что будет контролировать каталоги Windows для размера и количества файла со временем. Я говорю о горстке серверов и нескольких тысячах папок (миллионы файлов).

Требования:

  • Уведомление на X увеличениях размера за время Y
  • Уведомление на X увеличениях файла рассчитывает за время Y
  • Историческое построение графика (или по крайней мере сохранение данных снимка со временем) размера и количества файла
  • Все это на ряде каталогов и их дочерних каталогов

Я предпочел бы бесплатное решение, но буду также ценить быть указанным в правильном направлении. Если бы мы должны были записать наше собственное, как мы пошли бы о выполнении этого? Причем доступными языками является Ruby, Groovy, Java, Perl или PowerShell (так как я записал бы это).

6
задан Instantsoup 8 October 2008 в 19:04
поделиться

4 ответа

Вы могли бы хотеть смотреть на PolyMon, который является системным решением по контролю с открытым исходным кодом. Это позволяет Вам писать пользовательские мониторы на любом языке.NET и позволяет Вам создавать пользовательские мониторы PowerShell.

Это хранит данные на бэкэнде SQL Server и обеспечивает построение графика. Для Вашей цели Вам просто был бы нужен сценарий, который получит размер каталога и количество файла. Что-то как:

$size = 0
$count = 0
$path = '\\unc\path\to\directory\to\monitor'
get-childitem -path $path -recurse | Where-Object {$_ -is [System.IO.FileInfo]} | ForEach-Object {$size += $_.length; $count += 1}

В ответ на комментарий Scott:Конечно. Вы могли перенести его в некоторое время цикл

$ESCkey  = 27
Write-Host "Press the ESC key to stop sniffing" -foregroundcolor "CYAN"
$Running=$true

While ($Running)
    { 
         if ($host.ui.RawUi.KeyAvailable) {
         $key = $host.ui.RawUI.ReadKey("NoEcho,IncludeKeyUp,IncludeKeyDown")
            if ($key.VirtualKeyCode -eq $ESCkey) { 
             $Running=$False
            }
         #rest of function here 
        } 

Я не сделал бы этого для монитора PowerShell, который можно запланировать выполнять периодически, но чтобы сценарий работал в фоновом режиме, вышеупомянутое работало бы. Вы могли даже добавить некоторый код доступа к базе данных, чтобы зарегистрировать результаты к базе данных или зарегистрировать его в файл.. что когда-либо Вы хотите.

3
ответ дан 16 December 2019 в 21:48
поделиться

Существует несколько решений там, включая некоторые свободные. Некоторые, что я работал с, включают:

Nagios и Старший брат

Быстрый поиск Google может, вероятно, найти больше.

4
ответ дан 16 December 2019 в 21:48
поделиться

Можно, конечно, выполнить это с PowerShell и WMI. Вам был бы нужен своего рода бэкенд DB как SQL Express. Но я соглашаюсь, что инструмент как Polymon является лучшим подходом. Одной вещью, которая могла бы сделать diffence, является проблема масштаба. Необходимо ли контролировать 1 папку на 1 сервере или сотнях?

1
ответ дан 16 December 2019 в 21:48
поделиться

http://sourceforge.net/projects/dirviewer/ - DirViewer является легким чистым JAVA-приложением для представления дерева каталогов и рекурсивной статистики использования диска, с помощью стиля JGoodies-взглядов, подобного Windows XP.

0
ответ дан 16 December 2019 в 21:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: