Сбор счетчиков производительности с удаленных хостов
При проведении аудита без снятия показаний счетчиков производительности просто не обойтись. Если серверов немного, скажем 10-20, то безусловно можно собрать данные «руками», а если их 100, 200 или больше?
Как говориться в фильме «Формула любви» – «Тут без помощника не обойтись…»
Правильно, помощником а вернее помощницей у нас будет командная строка.
1. Для начала формируем текстовый файл с необходимыми счетчиками, например для того что бы получить все счетчики от PhysicalDisk необходимо выполнить следующую команду:
typeperf -qx PhysicalDisk -o counters.txt
Аналогичным образом формируется набор счетчиков для любой другой группы.
2. Формируем любым удобным вам методом файл со списком хостов которые необходимо тестировать.
hostlist.txt
host1 host2 host3 ...
3. Скопирвать-вставить скрипт приведенный ниже в файл collect-perf.cmd. Для его работы нам понадобятся:
- Привилегированная учетная запись на удаленном хосте
- утилита psexec
@echo off for /f "tokens=1 delims=" %%a, in (hostlist.txt) do ( copy counters.txt \\%%a\c$\TEMP psexec \\%%a -d cmd.exe /c "c:\Windows\system32\typeperf.exe -cf c:\temp\counters.txt -si 30 -sc 100 -f TSV -o c:\temp\perfmon_report.txt" )
Результатом работы приведенного скрипта будет файл c:\temp\perfmon_report.txt в котором будут собраны данные по указанным вами счетчикам со следующими характеристиками.
- интервал – 30 секунд
- количество экземпляров – 100
4. После того как данные сформируются собрать их можно так.
@echo off for /f "tokens=1 delims=" %%a, in (hostlist.txt) do ( copy \\%%a\c$\TEMP\perfmon_report.txt %%a__report.txt )



