Performance counters for windows driver что это

Обновлено: 05.07.2024

Windows Счетчики производительности обеспечивают высокоуровневый уровень абстракции с единообразным интерфейсом для сбора различных типов системных данных, таких как ЦП, память и статистика использования диска. Системные администраторы используют счетчики производительности для наблюдения за проблемами производительности или поведения. Разработчики программного обеспечения используют счетчики производительности для проверки использования ресурсов их компонентов.

Windows Счетчики производительности оптимизированы для обнаружения и сбора данных по администрированию и диагностике. Они не подходят для сбора данных с высокой частотой или для профилирования приложений, так как они не предназначены для сбора более одного раза в секунду. Для доступа к системной информации с более низкими издержками можно использовать более прямые API, такие как вспомогательное состояние процесса, глобалмемористатусекс, жетсистемтимесили GetProcessTimes. Для профилирования можно выполнять сбор журналов ETW с данными профилирования системы с помощью tracelog.exe с -critsec -dpcisr параметрами, -eflag или с -ProfileSource помощью профилирования счетчика оборудования.

не путайте Windows счетчики производительности с API QueryPerformanceCounter . Windows Счетчики производительности обеспечивают высокоуровневую абстракцию для многих типов системных данных. Функция QueryPerformanceCounter предоставляет оптимизированный доступ к метке времени с высокой точностью.

Приступая к работе

  • Используйте средства счетчиков производительности , если требуется получить или просмотреть данные о производительности из системы.
  • Используйте API сбора счетчиков производительности , если требуется написать сценарий или программу, собирающую данные о производительности из локальной системы.
  • Используйте Классы счетчиков производительности WMI , если требуется получить данные о производительности из локальной или удаленной системы с помощью инструментария WMI.
  • Используйте API поставщика счетчиков производительности , если требуется опубликовать данные о производительности из программного компонента.

Основные понятия

система счетчиков производительности Windows организована в виде потребителей, поставщиков, каунтерсетс, счетчиков, экземпляров и значений счетчиков.

Потребитель — это программный компонент, который использует данные о производительности. Windows включает несколько встроенных средств , которые используют данные о производительности. К ним относятся диспетчер задач, монитор ресурсов, монитор производительности, typeperf.exe, logman.exe и relog.exe. Разработчики могут создавать сценарии и приложения, обращающиеся к счетчикам производительности через API-интерфейсы счетчика производительности.

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

  • Поставщик v1 — это программный компонент, который публикует данные производительности с помощью библиотеки DLL производительности , которая выполняется в процессе потребителя. Поставщик v1 устанавливается на компьютере с помощью .ini файла. Архитектура поставщика v1 устарела. Новые поставщики должны использовать архитектуру поставщика v2.
  • Поставщик v2 — это программный компонент, который публикует данные производительности с помощью API поставщика счетчиков производительности. Поставщик v2 устанавливается на систему через .man файл (XML-манифест).

Набор счетчиков — это группирование данных о производительности в поставщике. Набор счетчиков имеет имя и один или несколько счетчиков. Сбор данных из набора счетчиков возвращает число экземпляров. в некоторых Windows api каунтерсетс называются объектами производительности. Например, поставщик данных производительности для системы базы данных может предоставлять набор счетчиков для статистики по базе данных.

Счетчик — это определение отдельной части данных о производительности. У счетчика есть имя и тип. Например, набор счетчиков «статистика по базе данных» может содержать счетчик с именем «транзакций в секунду» с типом PERF_COUNTER_COUNTER .

Экземпляр — это сущность, в которой сообщается о данных о производительности. Экземпляр имеет имя (строка) и одно или несколько значений счетчика. Например, набор счетчиков «статистика по базе данных» может содержать по одному экземпляру на базу данных. Имя экземпляра будет именем базы данных, а каждый экземпляр будет содержать значения счетчика для счетчиков "транзакций в секунду", "использование памяти" и "использование диска".

Значение счетчика — это значение одного элемента данных счетчика производительности. Значение счетчика — это целое число без знака, 32-бит или 64-бит, в зависимости от типа соответствующего счетчика. При разговоре об экземпляре значение счетчика иногда может называться счетчиком или значением.

Может быть полезно связать термины счетчиков производительности с более привычными условиями электронной таблицы. Набор счетчиков подобен таблице. Счетчик похож на столбец. Экземпляр похож на строку. Значение счетчика похоже на ячейку в таблице.

Один экземпляр каунтерсетс всегда содержит данные только для одного экземпляра. Это распространено для каунтерсетс, которые сообщают о глобальной системе статистики. например, Windows имеет встроенный набор счетчиков с одним экземпляром "память", который сообщает об использовании глобальной памяти.

Каунтерсетс с несколькими экземплярами содержит данные для переменного числа экземпляров. Это распространено для каунтерсетс, которые сообщают о сущностях в системе. например, Windows имеет встроенный набор счетчиков с несколькими экземплярами "сведения о процессоре", который сообщает по одному экземпляру для каждого установленного цп.

Потребители периодически собираются и записывают данные из CounterSet поставщика. Например, потребитель может получать данные один раз в секунду или один раз в минуту. Собранные данные называются примером. Пример состоит из меток времени и данных для экземпляров набора счетчиков. Данные для каждого экземпляра включают имя экземпляра (строку) и набор значений счетчика (целые числа, по одному значению для каждого счетчика в наборе счетчиков).

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

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

Имена экземпляров должны быть стабильными в образцах, т. е. поставщик должен использовать одно и то же имя экземпляра для одной и той же сущности каждый раз при сборе набора счетчиков.

Каждый счетчик имеет тип. Тип счетчика указывает тип необработанного значения счетчика (беззнаковое 32-разрядное целое число или неподписанное 64-разрядное целое число). Тип счетчика также указывает, что представляет собой необработанное значение счетчика, которое определяет, как обработанное значение должно обрабатываться для создания полезной статистики.

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

  • PERF_COUNTER_LARGE_RAWCOUNT — Это 64-разрядное необработанное значение, которое не требует никакой обработки. Он подходит для значений на момент времени, например "байт используемой памяти".
  • PERF_COUNTER_RAWCOUNT_HEX — Это 32-разрядное необработанное значение, которое должно быть полезно только для простого шестнадцатеричного форматирования. Он подходит для получения точки во времени или идентификации, например "Flags" или "базовый адрес".
  • PERF_COUNTER_BULK_COUNT — Это 64-разрядное необработанное значение, указывающее количество событий и используемое для вычисления скорости возникновения событий. Чтобы быть полезным, для этого типа счетчика требуется два образца, которые были разделены по времени. Отформатированное значение — это частота событий, т. е. количество событий, произошедших в секунду за интервал между двумя примерами. Учитывая два образца s0 и s1 , отформатированное значение (частота событий) будет вычисляться как (s1.EventCount - s0.EventCount)/(s1.TimestampInSeconds - s0.TimestampInSeconds) .

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

Архитектура API производительности

приложения счетчиков производительности вызывают Windows api, которые вызывают поставщики для получения данных о производительности.

Потребители счетчиков производительности включают:

    , такие как диспетчер задач, монитор ресурсов, монитор производительности и typeperf.exe.
  • Предоставляемые корпорацией Майкрософт высокоуровневые поверхности API, которые предоставляют данные счетчиков производительности, такие как классы производительности WMI.
  • Собственные приложения или скрипты, использующие API-интерфейсы потребителя счетчика производительности.

Большинство потребителей счетчиков производительности используют API из PDH.dll для получения данных о производительности. PDH управляет множеством сложных аспектов сбора счетчиков производительности, таких как анализ запросов, сопоставление экземпляров по нескольким примерам и вычисление форматированных значений из необработанных данных счетчиков. Реализация PDH использует API реестра при использовании данных от поставщика v1 и использует API-интерфейсы потребителя v2 При использовании данных от поставщика v2.

Некоторые старые получатели счетчиков производительности используют API реестра для получения данных о производительности из специального HKEY_PERFORMANCE_DATA раздела реестра. Это не рекомендуется для нового кода, поскольку обработка данных из реестра является сложной и подвержена ошибкам. Реализация API реестра напрямую поддерживает сбор данных от поставщиков v1. Он косвенно поддерживает сбор данных от поставщиков v2 через слой перевода, использующий API-интерфейсы потребителя версии 2.

Некоторые потребители счетчиков производительности используют функции-потребители версии PerfLib v2 для прямого доступа к данным из поставщиков v2. Это сложнее, чем использование данных с помощью интерфейсов API PDH, но этот подход может быть полезен, если интерфейсы API PDH не могут быть использованы из-за проблем с производительностью или зависимостями. Реализация PerfLib v2 напрямую поддерживает сбор данных от поставщиков v2. Он не поддерживает сбор данных от поставщиков v1.

Windows OneCore не включает PDH.dll и не поддерживает использование данных счетчиков производительности с помощью api-интерфейсов реестра. потребители, работающие на OneCore, должны использовать функции потребителя версии 2 PerfLib.

Поставщики v1 реализуются как библиотека DLL поставщика, которая загружается в процесс потребителя. Реализация API реестра управляет загрузкой библиотеки DLL поставщика, вызовом библиотеки DLL для получения данных о производительности и выгрузкой библиотеки DLL соответствующим образом. библиотека DLL поставщика отвечает за сбор данных о производительности по мере необходимости, например с помощью обычных Windows api, RPC, именованных каналов, общей памяти или других механизмов взаимодействия между процессами.

поставщики V2 реализуются как программа пользовательского режима (часто это Windows служба) или драйвер режима ядра. Обычно код поставщика данных о производительности интегрируется непосредственно в существующий компонент (т. е. драйвер или служба сообщает о своей статистике). Реализация PerfLib v2 управляет запросами и ответами с помощью расширения ядра PCW.sys, поэтому поставщику обычно не требуется реализовывать взаимодействие между процессами для предоставления данных о производительности.

Windows API и средства счетчика производительности включают ограниченную поддержку доступа к счетчикам производительности с других компьютеров с помощью удаленного реестра (для поставщиков v1) и RPC (для поставщиков v2). Эту поддержку часто трудно использовать в терминах элементов управления проверки подлинности (средства и API-интерфейсы могут проходить проверку подлинности только в качестве текущего пользователя), а также в плане конфигурации системы (необходимые конечные точки и службы отключены по умолчанию). Во многих случаях лучше обращаться к счетчикам производительности удаленных систем через инструментарий WMI , а не через встроенную поддержку удаленного доступа.

Аудитория разработчиков

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

Требования к среде выполнения

Сведения о требованиях времени выполнения для определенного программного элемента см. в разделе "требования" на странице справочника по этому элементу.

В нашей базе содержится 282 разных файлов с именем pcw.sys . You can also check most distributed file variants with name pcw.sys. Чаще всего эти файлы принадлежат продукту Microsoft® Windows® Operating System. Наиболее частый разработчик - компания Microsoft Corporation. Самое частое описание этих файлов - Performance Counters for Windows Driver. Совокупная оценка - 5( 5 ) (комментариев: 2 ). Этот файл содержит драйвер. Вы можете найти его в разделе драйверов в System Explorer.

Подробности о наиболее часто используемом файле с именем "pcw.sys"

Продукт: Microsoft® Windows® Operating System Компания: Microsoft Corporation Описание: Performance Counters for Windows Driver Версия: 6.1.7600.16385 MD5: d6b9c2e1a11a3a4b26a182ffef18f603 SHA1: 4d184d0e61ce3261e50ca844773d4626f10887d2 SHA256: bba5fe08b1ddd6243118e11358fd61b10e850f090f061711c3cb207ce5fbbd36 Размер: 50768 Папка: C:\Windows\System32\DRIVERS ОС: Windows 7 Частота: Высокая Цифровая подпись: Microsoft Windows

Проверьте свой ПК с помощью нашей бесплатной программы

Icon

System Explorer это наша бесплатная, удостоенная наград программа для быстрой проверки всех работающих процессов с помощью нашей базы данных. Эта программа поможет вам держать систему под контролем.

Драйвер "pcw.sys" безопасный или опасный?

100% файлов помечены как безопасные .
100% файлов помечены как системные .

Последний новый вариант файла "pcw.sys" был обнаружен 3151 дн. назад. В нашей базе содержится 16 шт. вариантов файла "pcw.sys" с окончательной оценкой Безопасный и ноль вариантов с окончательной оценкой Опасный . Окончательные оценки основаны на комментариях, дате обнаружения, частоте инцидентов и результатах антивирусных проверок.

Комментарии пользователей для "pcw.sys"

Текущим параметрам фильтрации удовлетворяют несколько файлов. Будут показаны комментарии ко всем файлам.

Комментарии ко всем файлам с именем "pcw.sys"

БЕЗОПАСНЫЙ оценка пользователя kajmik для файла C:\Windows\System32\drivers\pcw.sysflag en

БЕЗОПАСНЫЙ оценка пользователя Don't PlaY для файла C:\Windows\System32\drivers\pcw.sys

Добавить комментарий для "pcw.sys"

Для добавления комментария требуется дополнительная информация об этом файле. Если вам известны размер, контрольные суммы md5/sha1/sha256 или другие атрибуты файла, который вы хотите прокомментировать, то вы можете воспользоваться расширенным поиском на главной странице .

Если подробности о файле вам неизвестны, вы можете быстро проверить этот файл с помощью нашей бесплатной утилиты. Загрузить System Explorer.

Проверьте свой ПК с помощью нашей бесплатной программы

System Explorer это наша бесплатная, удостоенная наград программа для быстрой проверки всех работающих процессов с помощью нашей базы данных. Эта программа поможет вам держать систему под контролем. Программа действительно бесплатная, без рекламы и дополнительных включений, она доступна в виде установщика и как переносное приложение. Её рекомендуют много пользователей.

Файл был разработан для использования с программным обеспечением . Здесь вы найдете подробную информацию о файле и инструкции, как действовать в случае ошибок, связанных с pcw.sys на вашем устройстве. Вы также можете скачать файл pcw.sys, совместимый с устройствами Windows 10, Windows 8.1, Windows 8, Windows 7, которые (скорее всего) позволят решить проблему.

For Windows

Совместим с: Windows 10, Windows 8.1, Windows 8, Windows 7

Исправьте ошибки pcw.sys

Информация о файле

Основная информация
Имя файла pcw.sys
Расширение файла SYS
Описание Performance Counters for Windows Driver
Программного обеспечения
программа Microsoft® Windows® Operating System
автор Microsoft Corporation
подробности
MIME тип application/octet-stream
Тип файла Driver
система Windows NT 32-bit
Авторские права © Microsoft Corporation. All rights reserved.
Набор символов Unicode
Языковая треска English (U.S.)

pcw.sys

Наиболее распространенные проблемы с файлом pcw.sys

  • pcw.sys поврежден
  • pcw.sys не может быть расположен
  • Ошибка выполнения - pcw.sys
  • Ошибка файла pcw.sys
  • Файл pcw.sys не может быть загружен. Модуль не найден
  • невозможно зарегистрировать файл pcw.sys
  • Файл pcw.sys не может быть загружен
  • Файл pcw.sys не существует

pcw.sys

Не удалось запустить приложение, так как отсутствует файл pcw.sys. Переустановите приложение, чтобы решить проблему.

Проблемы, связанные с pcw.sys, могут решаться различными способами. Некоторые методы предназначены только для опытных пользователей. Если вы не уверены в своих силах, мы советуем обратиться к специалисту. К исправлению ошибок в файле pcw.sys следует подходить с особой осторожностью, поскольку любые ошибки могут привести к нестабильной или некорректно работающей системе. Если у вас есть необходимые навыки, пожалуйста, продолжайте.

Помните, прежде чем предпринимать какие-либо действия, связанные с системными файлами, сделайте резервную копию ваших данных!

Шаг 1.. Сканирование компьютера на наличие вредоносных программ.

Virus Scan

Файлы Windows обычно подвергаются атаке со стороны вредоносного программного обеспечения, которое не позволяет им работать должным образом. Первым шагом в решении проблем с файлом pcw.sys или любыми другими системными файлами Windows должно быть сканирование системы на наличие вредоносных программ с использованием антивирусного инструмента.

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

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

Начнем со всем давно известного Performance Monitor. Это стандартная утилита, которая входит во все современные редакции Windows. Вызывается либо из меню, либо из командной строки или строки поиска в Windows 8/10 вводом команды perfmon. После запуска утилиты мы видим стандартную панель, в которой можем добавить и удалить счетчики, изменить представление и масштабировать графики с данными.


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

Первая утилита — это Typeperf, которая может выводить данные со счетчиков производительности на экран или в файл, а также позволяет получить список счетчиков, установленных в системе. Примеры использования.

Выводит на экран загрузку процессора с интервалом 1 сек.:


Выводит в файл названия счётчиков производительности, связанные с объектом PhysicalDisk:

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

Следующая утилита – Logman. Данная утилита позволяет создавать, изменять и управлять различными сборщиками данных. Мы будем создавать сборщик данных для счетчиков производительности. Вот, например, краткая справка по команде Logman, которая относится к счетчикам производительности и управлению сборщиком данных.




Разберем несколько примеров, которые нам понадобятся в дальнейшем.

Создадим сборщик данных с именем DataCollector_test, импортировав счетчики производительности из файла test.xml:


Создание файла для сбора данных производительности с включённым циркулярным режимом и заданным размером:

Изменение пути файла с данными производительности по умолчанию:

Запуск коллектора данных DataCollector_test:

Остановка коллектора данных DataCollector_test:

Отметим, что все эти действия можно производить с удаленным компьютером.

Рассмотрим еще одну утилиту — Relog, которая позволяет производить манипуляции с файлом данных после работы сборщика данных. Вот ее описание:


Ниже несколько сценариев применения этой утилиты.

Извлечение данных счетчиков производительности из файла logfile.blg с применением фильтра со списком счетчиков counters.txt и записью результата в бинарный формат:

Извлечение списка счетчиков производительности из logfile.blg в текстовый файл counters.txt:

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

Отметим еще один момент, некоторые системы анализа требуют данные с наименованиями счетчиков производительности на английском языке. Если интерфейс нашей системы на русском языке, то нам необходимо проделать следующие манипуляции: завести локального пользователя, дать ему права на сбор данных (обычно дают права локального администратора), войти в систему под ним и в свойствах системы изменить язык интерфейса.


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


После этого имена счетчиков и файлов будут на английском языке.

Также отметим возможность сбора данных для SQL Server с помощью утилиты из состава продукта. Это SQLDIAG, которая обрабатывает журналы производительности Windows, журналы событий Windows, трассировки SQL Server Profiler, сведения о блокировках SQL Server и сведения о конфигурации SQL Server. Указать, какие типы сведений нужно собирать с помощью программы SQLdiag, можно в файле конфигурации SQLDiag.xml.



Вот так выглядит окно этого инструмента.


В итоге, процесс сбора данных для SQL может выглядеть так. С помощью PSSDIAG мы формируем xml-файл. Далее посылаем этот файл клиенту, который запускает SQLDIAG c нашим xml-файлом на удаленном сервере и присылает нам для анализа результат работы в виде blg-файла, который мы будем анализировать в следующей части.

Данная утилита написана Clint Huffman, который является PFE-инженером Microsoft и занимается анализом производительности систем. Также он является одним из авторов авторизованного курса Vital Sign, который читается в Microsoft и доступен для корпоративных заказчиков, в том числе в России на русском языке. Утилита распространяется свободно, ссылку на нее я приведу ниже.

Вот так выглядит стартовое окно утилиты.


На вкладке Counter Log задаётся путь к файлу данных со счетчиками производительности, собранными ранее. Также мы можем задать интервал, за который будет производиться анализ.


На вкладке Threshold File находится список шаблонов, которые можно экспортировать в формат xml и использовать как список счетчиков для сборщика данных. Обратите внимание на большой выбор шаблонов для анализа производительности для различных систем. Пример загрузки из командной строки был показан выше. Самое ценное, что в этих заранее подготовленных шаблонах установлены граничные значения для этих параметров, которые будут использованы в дальнейшем для анализа собранных данных.




Вот так, например, выглядят граничные значения для счётчиков дисковой производительности:


Мы можем создавать свои шаблоны с использованием нужных счетчиков, которые будут подстроены под нужды нашей организации.

Действуем по следующему алгоритму: на рабочей станции запускаем утилиту PAL, переходим на вкладку Threshold File и экспортируем шаблон в виде xml-файла. На основании этого файла на сервере создаем сборщик данных и запускаем сборку информации.
После сбора данных копируем полученный файл на рабочую станцию, чтобы анализом не нагружать сервер, возвращаемся на вкладку Counter Log, указываем путь к файлу. Снова переходим на Threshold File и выбираем тот самый шаблон, который экспортировали для сборщика данных.

Переключаемся на вкладку Question и указываем объем оперативной памяти на сервере, на котором был осуществлён сбор данных. В случае 32-битной системы заполним UserVa.


Переходим к вкладке Output Options, на которой задаем интервал разбиения для анализа. Значение по умолчанию AUTO делит интервал на 30 равных частей.


Вкладка File Output выглядит довольно обычно, указываем на ней путь к файлам итоговых отчетов в формате HTML или XML.


Вкладка Queue показывает итоговый скрипт на PowerShell. В общем можно сказать, что утилита собирает параметры, которые она подставляет в скрипт PAL.PS1.


Итоговая вкладка задает параметры исполнения. Можно одновременно запустить несколько скриптов и указать число потоков на процессоре. Хотелось бы акцентировать внимание, что обработку blg делает не утилита, а скрипт PowerShell, и это открывает возможности для полной автоматизации анализа логов. Например, каждые сутки перезапускается сборщик данных, в результате освобождается текущий blg-файл и создаётся новый. Старый файл копируется на специальный сервер, где будет запускаться скрипт, обрабатывающий данный файл. После этого готовый HTML- или XML-файл с результатами перемещается в определённую директорию или высылается на почтовый ящик.



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

Итогом работы утилиты будет отчет в выбранном формате, в котором есть графики и числовые данные, позволяющие понять, что происходило в системе за заданный период с учетом граничных значений алертов в шаблоне на вкладке Threshold File. В общем, анализ HTML-файла позволит на начальном этапе определить проблемные места в системе и понять, куда двигаться дальше, как в плане более тонкого мониторинга, так и в плане модернизации или переконфигурирования системы. В блоге Clint Huffman есть скрипт, которым можно конвертировать файл шаблона с граничными условиями в более понятный формат.



Иногда возникает необходимость в превентивном мониторинге проблемной системы. Для этого мы создадим «черный ящик», в который будем записывать данные производительности. Вернемся к скриптам, описанным ранее.

Создадим сборщик данных c именем BlackBox, импортировав счетчики производительности из файла SystemOverview.xml, который выгрузили из утилиты PAL или создали самостоятельно:

Создание файла для сбора данных производительности с включённым циркулярным режимом и заданным размером 600 МБ (около 2 суток при стандартном наборе счетчиков):

Изменение пути файла с данными производительности по умолчанию:

Запуск коллектора данных BlackBox:

Данный скрипт создает задачу перезапуска сборщика данных в случае перезапуска системы:

На всякий случай поправим свойства диспетчера данных, чтобы не заполнить место на диске, так как после перезапуска сборщика данных создается новый файл с лимитом 600 МБ.


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

Остановка коллектора данных BlackBox:

На этом закончим часть, посвященную сбору и первичному анализу производительности.

Читайте также: