Я ищу простой способ контролировать свободное место на диске на большом количестве серверов.
Я также хотел бы иметь возможность подсчитывать файлы в определенных папках на этих серверах.
Из http://technet.microsoft.com/en-us/magazine/cc137791.aspx: создайте файл C: \ Computers.txt с именами машин, которые вы хотите проверить, затем выполните этот сценарий PowerShell:
Get-Content C:\Computers.txt |
ForEach-Object {
$_; Get-WMIObject –computername $_
Win32_LogicalDisk -filter "DriveType=3" |
ForEach-Object {
$_.DeviceID; $_.FreeSpace/1GB
}
}
Вы можете переформатировать это; это довольно некрасиво, но работает;)
Изменить: конечно, вам понадобятся соответствующие привилегии безопасности, чтобы запрашивать другие машины.
Ваш ответ лежит в Powershell, но мне не хватает знаний программирования на этом языке, чтобы дать вам точное решение.
Я думаю, это зависит от того, что вы используете для системы мониторинга. В Nagios есть NSC ++, вы всегда можете установить snmpd на базе Windows, а различные коммерческие пакеты программного обеспечения для мониторинга предоставляют вам другие агенты для установки.
У вас уже есть запущенная система мониторинга или это ваша цель?
Зенос - хороший инструмент в сочетании с информатором SNMP. Другой, который стоит денег, будет PRTG. Обе системы очень просты в настройке. Zenoss поставляется в виде предварительно настроенной виртуальной машины, которую можно легко использовать.
Мы используем ServersAlive для мониторинга. Встроенный мониторинг дискового пространства и файлов в папках.
Для подсчета количества файлов в каталоге потребуется сценарий, но вы можете использовать perfmon для мониторинга дискового пространства. Вы также можете настроить оповещение при достижении определенных пороговых значений. Вы можете использовать perfmon в центральной системе и подключить ее к своим серверам, чтобы весь мониторинг выполнялся в одном месте.
Для подсчета файлов (из командной строки) см. http://ratsauce.sourceforge.net/index.html#dirspace.
Что вы планируете делать с цифрами дискового пространства? Например, будете ли вы выполнять регулярные запросы к ним для создания отчетов? У меня есть аналогичное требование, и я использую смесь пакетных файлов и VBScript для записи цифр в базу данных SQL. Это позволяет мне генерировать предупреждения, когда на диске мало места, а также отслеживать использование диска с течением времени и даже прогнозировать, когда диски заполнятся.
Джон Ренни
Я использую diskmonitor pro несколько месяцев, он дешев и хорошо справляется со своей задачей.
Получил с www.diskmonitor.net
Надеюсь это поможет.
Насколько я понимаю, «простой способ» - это включить SNMP и опросить каждый сервер из ящика Nagios. После этого вы сможете отслеживать не только дисковое пространство, но и многие другие аспекты, включая (но не ограничиваясь) использование ЦП, процессы, службы, память, сетевой ввод-вывод, оборудование и т. Д.
Если вы знаете Nagios :)