Автор статьи – Михаил Комаров, MVP – Cloud and Datacenter Management В этой статье будут рассмотрены:Теги: #Windows #Монитор производительности #PAL #Typeperf #logman #relogТакже рассмотрим и обсудим работу с утилитой ПАЛ и его применение для сбора и анализа данных, включая общие проблемы в локализованных системах.
- механизм работы со счетчиками производительности;
- Настройка сборщиков данных с использованием как графического интерфейса, так и командной строки;
- создание черного ящика для записи данных.
В общих чертах проблему производительности можно рассматривать как три части: сбор данных, анализ полученных данных и создание черного ящика для упреждающего мониторинга проблемной системы.
Сбор данных Начнем с давно известного Performance Monitor. Это стандартная утилита, включенная во все современные редакции Windows. Вызывается либо из меню, либо из командной строки или панели поиска в Windows 8/10 путем ввода команды perfmon. После запуска утилиты мы видим стандартную панель, в которой можно добавлять и удалять счетчики, изменять вид и масштабировать графики данных.
Существуют также сборщики данных, которые собирают данные о производительности системы.При определенных навыках и сноровке операции по добавлению счетчиков и настройке параметров сбора данных можно выполнить из графического интерфейса.
Но когда возникает задача настроить сбор данных с нескольких серверов, разумнее использовать утилиты командной строки.
Именно с этими утилитами мы и будем иметь дело.
Первая утилита Типоперф.
, который может отображать данные счетчиков производительности на экране или в файл, а также позволяет получить список счетчиков, установленных в системе.
Примеры использования.
Отображает загрузку процессора с интервалом в 1 секунду:
typeperf "\Processor(_Total)\% Processor Time"
Печатает имена счетчиков производительности, связанных с объектом PhysicalDisk, в файл:typeperf -qx PhysicalDisk -o counters.txt
В нашем случае мы можем использовать утилиту Типоперф.создать файл с нужными нам счетчиками, который в дальнейшем будем использовать как шаблон для импорта счетчиков в сборщик данных .
Следующая утилита Логман .
Эта утилита позволяет создавать, изменять и управлять различными сборщиками данных.
Мы будем создавать сборщик данных для счетчиков производительности.
Вот, например, краткая справка по команде Логман , который относится к счетчикам производительности и управлению сборщиками данных.
Давайте рассмотрим несколько примеров, которые нам понадобятся позже.Давайте создадим сборщик данных с именем DataCollector_test импортировав счетчики производительности из файла test.xml :
logman import DataCollector_test -xml C:\PerfTest\test.xml
Создайте файл для сбора данных о производительности с включенным циклическим режимом и указанным размером:logman update DataCollector_test -f bincirc -max 600
Изменение пути к файлу данных производительности по умолчанию:logman update DataCollector_test -o C:\PerfTest\Test_log.blg
Запуск сборщика данных DataCollector_test :logman start DataCollector_test
Остановка сборщика данных DataCollector_test :logman stop DataCollector_test
Обратите внимание, что все эти действия можно выполнить с удаленного компьютера.Давайте рассмотрим еще одну утилиту — Перелогиниться , что позволяет манипулировать файлом данных после запуска сборщика данных.
Вот ее описание:
Ниже приведены несколько сценариев использования этой утилиты.Извлечение данных счетчика производительности из файла logfile.blg использование фильтра со списком счетчиков counters.txt и записываем результат в двоичном формате:
relog logfile.blg -cf counters.txt -f bin
Получение списка счетчиков производительности из logfile.blg в текстовый файл counters.txt :relog logfile.blg -q -o counters.txt
Мы не будем работать с этой утилитой напрямую, но информация о ней поможет в будущем, если возникнут проблемы в файле PowerShell, который генерирует утилита.ПАЛ .
Отметим еще один момент: некоторые системы анализа требуют данные с названиями счетчиков производительности на английском языке.
Если интерфейс нашей системы на русском языке, то нам необходимо проделать следующие манипуляции: создать локального пользователя, дать ему права на сбор данных (обычно дают права локального администратора), войти в систему под ним и изменить интерфейс язык в свойствах системы.
Обязательно выйдите из системы и войдите во второй раз под этим пользователем, чтобы инициализировать английский интерфейс и выйти из системы.Далее укажите в сборщике данных, что данные будут собираться от имени этого пользователя.
После этого названия счетчиков и файлов будут на английском языке.Также отметим возможность сбора данных для SQL Server с помощью утилиты, входящей в состав продукта.
Этот SQLDIAG , который обрабатывает журналы производительности Windows, журналы событий Windows, трассировки SQL Server Profiler, информацию о блокировке SQL Server и информацию о конфигурации SQL Server. Укажите, какие типы информации следует собирать с помощью программы SQLdiag , вы можете в файле конфигурации SQLDiag.xml .
Чтобы настроить файл SQLDiag.xml вы можете использовать инструмент ПССДИАГ с сайта codeplex.com.
Вот как выглядит окно этого инструмента.
В результате процесс сбора данных для SQL может выглядеть следующим образом.Используя ПССДИАГ мы генерируем XML-файл.
Далее отправляем этот файл клиенту, который запускает SQLDIAG с нашим xml-файлом на удаленном сервере и отправляет нам результат работы на анализ в виде blg-файла, который мы проанализируем в следующей части.
Анализ данных с помощью утилиты PAL Эта утилита была написана Клинтом Хаффманом, инженером Microsoft PFE и анализирующим производительность системы.
Он также является одним из авторов авторизованного курса Vital Sign, который преподается в Microsoft и доступен корпоративным клиентам, в том числе в России, на русском языке.
Утилита распространяется свободно, ссылку на нее я приведу ниже.
Вот так выглядит стартовое окно утилиты.
На вкладке Журнал счетчиков указывается путь к файлу данных с собранными ранее счетчиками производительности.Мы также можем установить интервал, за который будет выполняться анализ.
На вкладке Пороговый файл есть список шаблонов, которые можно экспортировать в формат xml и использовать в качестве списка счетчиков для сборщика данных.Обратите внимание на большой выбор шаблонов анализа производительности для различных систем.
Пример загрузки из командной строки был показан выше.
Самое ценное, что в этих заранее подготовленных шаблонах задаются граничные значения этих параметров, которые в дальнейшем будут использоваться для анализа собранных данных!!!
Например, так выглядят предельные значения счетчиков производительности диска:
Мы можем создавать собственные шаблоны с использованием необходимых счетчиков, которые будут адаптированы под нужды нашей организации.Действуем по следующему алгоритму: запускаем утилиту на рабочей станции ПАЛ , перейдите на вкладку Пороговый файл и экспортируйте шаблон в виде XML-файла.
На основе этого файла создаем сборщик данных на сервере и начинаем сбор информации.
После сбора данных скопируйте полученный файл на рабочую станцию, чтобы не нагружать сервер анализом, вернитесь на вкладку Журнал счетчиков , укажите путь к файлу.
Давайте вернемся к Пороговый файл и выберите тот же шаблон, который был экспортирован для сборщика данных.
Переключиться на вкладку Вопрос и указать объем оперативной памяти на сервере, на котором собирались данные.
В случае 32-битной системы заполняем ПользовательВа .
Перейти на вкладку Опции вывода , на котором мы задаем интервал разделения для анализа.Значение по умолчанию АВТО делит интервал на 30 равных частей.
Вкладка Вывод файла выглядит вполне нормально, указываем на нем путь к файлам итогового отчета в формате HTML или XML.
Вкладка Очередь показывает окончательный сценарий PowerShell. В целом можно сказать, что утилита собирает параметры, которые она вставляет в скрипт. ПАЛ.PS1 .
Последняя вкладка определяет параметры выполнения.Вы можете запускать несколько скриптов одновременно и указывать количество потоков на процессоре.
Хочу подчеркнуть, что обработка blg осуществляется не утилитой, а PowerShell-скриптом, и это открывает возможности для полной автоматизации анализа логов.
Например, сборщик данных перезапускается каждый день, в результате освобождается текущий blg-файл и создается новый.
Старый файл копируется на специальный сервер, где будет запущен скрипт, обрабатывающий этот файл.
После этого готовый HTML или XML-файл с результатами перемещается в определенный каталог или отправляется в почтовый ящик.
Обратите внимание, что утилита должна работать только в английской локализации.В противном случае мы получим сообщение об ошибке.
Также файл данных должен содержать названия счетчиков на английском языке.Выше я указал как это сделать.
После нажатия Заканчивать Запустится сценарий PowerShell, время работы которого зависит от объема данных и скорости рабочей станции.
Результатом работы утилиты будет отчет в выбранном формате, содержащий графики и числовые данные, позволяющие понять, что произошло в системе за заданный период, с учетом значений лимитов оповещений в шаблоне на вкладка Пороговый файл .
В целом анализ HTML-файла позволит выявить проблемные места в системе на начальном этапе и понять, куда двигаться дальше, как в плане более детального мониторинга, так и в плане модернизации или перенастройки системы.
В блоге Клинта Хаффмана есть скрипт, с помощью которого можно преобразовать файл шаблона с граничными условиями в более понятный формат.
Черный ящик Иногда возникает необходимость профилактического мониторинга проблемной системы.Для этого мы создадим «черный ящик», в который будем записывать данные о производительности.
Вернемся к скриптам, описанным ранее.
Давайте создадим сборщик данных с именем Черный ящик импортировав счетчики производительности из файла SystemOverview.xml , который был выгружен из утилиты ПАЛ или создайте его сами:
logman import BlackBox -xml C:\ BlackBox\SystemOverview.xml
Создание файла для сбора данных о производительности с включенным циклическим режимом и заданным размером 600 МБ (около 2 дней при стандартном наборе счетчиков):logman update BlackBox -f bincirc -max 600
Изменение пути к файлу данных производительности по умолчанию:logman update BlackBox -o C:\ BlackBox \ BlackBox _log.blg
Запускаем сборщик данных BlackBox:logman start BlackBox
Этот скрипт создает задачу на перезапуск сборщика данных в случае перезагрузки системы:schtasks /create /tn pal /sc onstart /tr "logman start BlackBox " /ru system
На всякий случай настроим свойства диспетчера данных, чтобы не заполнять дисковое пространство, так как после перезапуска сборщика данных создается новый файл с ограничением в 600 МБ.
Обратите внимание, что вы можете скопировать файл данных только тогда, когда сборщик данных остановлен.Остановить последнее можно скриптом или с помощью графического интерфейса.
Остановка сборщика данных BlackBox:
logman stop BlackBox
На этом завершается часть, посвященная сбору и первичному анализу показателей.Ресурсы Монитор производительности https://technet.microsoft.com/en-us/library/cc749154.aspx Утилита PAL https://pal.codeplex.com/ Блог Клинта Хаффмана http://blogs.technet.com/b/clinth/ Книга Клинта Хаффмана Полевое руководство по анализу производительности Windows http://www.amazon.com/dp/0124167012/ref=wl.=I2TOVTYHI6HDHC
-
Убунту. Русификация Консоли В 2016 Году
19 Oct, 24 -
Интерактивная Капча
19 Oct, 24 -
Emi Отвергает Слияние Warner
19 Oct, 24 -
Создание Простого Аудиоредактора
19 Oct, 24