Заметки о Windows и других программных продуктах Microsoft...

Счетчики производительности. Часть 3

Счетчики производительности. Часть 3

Завершающая статья о счетчиках производительности. В ней мы затронем некоторые моменты, связанные с анализом журналов производительности, а также рассмотрим создание уведомлений и настройку системы мониторинга на базе счетчиков производительности.

Просмотреть результаты работы группы сборщиков данных на локальном компьютере проще всего из оснастки Performance Monitor. В разделе отчетов (Reports) для каждой группы создается одноименная папка, в которой и содержатся собранные данные. Есть три режима просмотра — графический (Performance Monitor), в виде структурированного отчета (Report) и просмотр файлов (Folder). Для переключения между ними на панели инструментов есть соответствующие значки.

В графическом виде удобнее всего просматривать данные счетчиков производительности. Также, как и при мониторинге текущей активности, можно изменять внешний вид графиков, выделять отдельные графики или убирать лишние. Внизу располагается слайдер, с помощью которого можно задавать просматриваемый отрезок времени.

режим просмотра Performance Monitor

 

В режиме отчета вся информация разбивается на блоки по типу собираемых данных и выводится в виде структурированного отчета. Это особенно удобно для просмотра данных конфигурации и трассировки событий. Стоит иметь в виду, что режим отчета доступен только в том случае, если для данной группы в Data Manager была задана генерация html-файла.

режим просмотра Report

 

Ну а в режиме Folder можно посмотреть содержимое папки.

режим просмотра Folder

Форматы файлов

Немного о формате файлов, в которых сохраняются данные. Для каждого типа сборщиков данных используется собственный формат.

Данные счетчиков производительности по умолчанию сохраняются в двоичном файле с расширением .blg (binary log file). Данные в этом формате можно просмотреть только в мониторе производительности, для чего надо в свойствах Performance Monitor указать в качестве источника лог-файл.

Если данных много, то можно вывести не все, а только выбранный отрезок времени, указав его с помощью ползунка.

выбор файла для просмотра в Performance Monitor

 

Кроме двоичного данные счетчиков производительности можно сохранять в формате с разделением табуляцией (tab separated values, tsv) или с разделением запятой (comma separated values, csv). Эти форматы можно открыть в любом текстовом редакторе, либо в редакторе электронных таблиц типа Exel.

Данные отслеживания событий сохраняются в формате .etl (event trace log). Файлы этого типа можно открыть в Event Viewer, для чего надо в поле Actions выбрать пункт Open Saved Log.

просмотр отчета в Event Viewer

 

Сведения о конфигурации сохраняются в формате XML. Для просмотра файлов этого типа удобно использовать интернет-браузер (IE, Opera и т.п) либо текстовый редактор с подсветкой синтаксиса XML, например Notepad++.

Tracerpt

Tracerpt.exe — утилита командной строки для манипуляций с файлами журналов. Она умеет преобразовывать файлы журналов ETL в формат XML и CSV, объединять файлы журналов, генерировать файл отчета и многое другое.  Так следующая команда создаст из файла datacollector02.etl файл дампа dumpfile.xml и файл отчета summary.txt и поместит их в профиль текущего пользователя:

tracerpt datacollector02.etl

Обработать файлы datacollector01.etl и datacollector02.etl и вывести результат в файл dump.xml можно командой:

tracerpt datacollector01.etl datacollector02.etl -o dump.xml -of XML

Для удобства просмотра можно создать файл отчета, для чего надо запустить команду с ключом -report. Следующая команда создаст из файла datacollector02.etl файл дампа dump.xml, текстовый файл dump.txt и файл отчета report.xml:

tracerpt datacollector02.etl -o dump.xml -of XML -summary dump.txt -report report.xml

создание дампа из файла лога

 

Вот так выглядит полученный файл отчета report.xml в браузере.

просмотр отчета в IE

 

Примечание. Tracerpt.exe может работать и напрямую, получая данные в режиме реального времени. Все возможности этой утилиты можно посмотреть, запустив команду tracerpt -?.

Relog

Relog.exe — еще одна полезная утилита для работы с файлами журналов. С ее помощью можно перобразовывать файлы журналов из двоичного вида в формат CSV или TSV (и наоборот). Например, преобразуем формат файла командой:

relog datacollector01.blg -f csv -o datacollector01.csv

Кроме того, можно взять уже готовый журнал и на его основе создать новый, изменив набор счетчиков, временной интервал и интервал между выборками.

Для примера укажем брать набор счетчиков из файла counters.txt и изменим интервал выборки на 30 сек:

relog datacollector01.blg -o datacollector01_new.blg -cf counters.txt -t 30

И изменим временной интервал, ограничив его 1 часом:

relog datacollector01.blg -o datacollector01_new.blg -b 8/5/2013 6:30:00 -e 8/5/2013 7:30:00

Создание нового журнала с помощью relog

 

Набор счетчиков указывается в текстовом файле, в формате \\компьютер\объект [экземпляр]\счетчик, по одному в строке. Посмотреть список счетчиков в журнале можно командой relog с ключом -q.

Справку по всем ключам программы можно вывести командой relog -?.

Создание уведомлений

Уведомления или алерты (Alerts) — это еще один, особый вид групп сборщиков данных. Алерты отслеживают показания счетчиков производительности и при достижении заданного предела сигнализируют об этом. Алерты можно использовать для оперативного мониторинга работоспособности сервера.

Создаются алерты практически так же, как и обычные группы сборщиков данных. Запускаем создание новой группы.

создание Data Collector Set, способ 2

 

Даем группе название и выбираем создание в ручном режиме.

создание алерта

 

В качестве типа сборщика данных выбираем Performance Counter Alert (Оповещение счетчика производительности).

создание алерта, продолжение

 

Выбираем нужные счетчики производительности и в поле Limit задаем предельное значении, по достижении которого алерт должен сработать сработает. Указывать можно как верхний (Above) так и нижний (Below) предел. В качестве примера возьмем счетчик, отслеживающий свободное место на системном диске, и поставим нижний предел 10%. Это значит, что алерт сработает, если свободного места останется меньще 10%.

настройка алерта

 

Сохраняем созданный алерт.

сохранение алерта

 

Создав алерт, надо указать для него действие. Переходим к свойствам алерта.

открытие свойств алерта

 

На вкладке Alerts можно добавить\удалить счетчики производительности и изменить пределы срабатывания. Дополнительно здесь можно указать интервал снятия данных.

свойства алерта, вкладка Alerts

 

На вкладке Alert Action задается действие при срабатывании алерта. Можно отметить пункт «Log an entry in the application event log», тогда при срабатывании в системном журнале, в разделе «Applications and Services Logs/Microsoft/Windows/Diagnosis-PLA/Operational» будет сделана запись о событии. Также можно указать запуск одной из имеющихся групп сборщиков данных.

свойства алерта, вкладка Alert Action

 

На вкладке Alert Task можно указать задание, которое будет выполнено при срабатывании алерта. О том, как создать это задание, я раскажу поподробнее.

свойства алерта, вкладка Alert Task

 

Задание предварительно должно быть создано в планировщике заданий, поэтому запускаем планировщик и в поле Actions выбираем пункт «Create Task».

окно планировщика заданий

 

Даем нашему заданию имя и выбираем опцию Run whether user is logged on or not (Выполнять вне зависимости от регистрации пользователя). Затем отмечаем пункт «Run with highest privileges», что означает запуск задания с повышенными привилегиями.

создаем новое задание

 

Переходим на вкладку Actions, нажимаем кнопку «New» и выбираем действие, которое должно произойти при срабатывании алерта. В качестве действия можно указать:

• Start a program — запустить программу или скрипт;
• Send e-mail — отправить почтовое сообщение на указаный адрес;
• Display a message — отобразить на экране сообщение.

Выбираем отправку e-mail, как самый нейтральный вариант. Заполняем необходимые поля, указываем SMTP сервер и жмем OK.

cоздаем запланированое действие

 

Сохраняем задание и закрываем планировщик. При сохранении потребуется указать логин и пароль пользователя.

Возвращаемся к свойствам алерта и на вкладке Alert Task вписываем имя созданого задания. Обратите внимание, что нужно указать путь, по которому находится это задание в библиотеке планировщика. В нашем случае имя задания будет выглядеть так \Microsoft\Windows\alert.

указываем запланированую задачу

 

Остается только сохранить алерт и запустить его. И теперь, как только свободное место достигнет критической отметки, мы тут же получим уведомление по e-mail.  Получается довольно неплохая система мониторинга, и главное никаких лишних затрат.

Заключение

На этом пожалуй закончу увлекательное повествование о счетчиках производительности Windows. Надеюсь, что мне удалось описать основные моменты их использования. Более подробную информацию и описание конкретных счетчиков можно найти на сайте Microsoft TechNet.

 
 
Комментарии

Подскажите, на что влияет аргумент задачи, как и где его использовать

Теоретически с аргументом можно передать задаче дополнительные данные, типа состояния выполнения. Практически ни разу их не использовал 🙂

Первый слэш не обязателен.
Я пишу Microsoft\Windows\alert

Скажите, пожалуйста, в чём может быть проблема? Создаю Оповещение с указанием %загруженности процессора выше определённого порога и при этом включаю запись в журнал приложений и выполнение определённой программы. Когда происходит загрузка процессора гарантировано выше этого порога, то ничего не происходит. Ни вызова программы, ни записи в журнал. Причём даже ещё на этапе создания это оповещение создаётся с жёлтым восклицательным значком.

Так сразу и не скажешь. А сам счетчик работает, его можно посмотреть в виде графика например?