Главная

Tuesday, 2 January 2018

Модули диагностики в PowerShell, часть 1.

Всем привет.

Недавно мы рассматривали подробно обработку ошибок в PowerShell. Но сам PowerShell богат на такие механизмы.

Я бываю хорошим занудой для пользы дела, поэтому при первом взгляде на список загруженных модулей в PowerShell по умолчанию я нахожу три подходящих модуля для диагностики: PSDiagnostics, Microsoft.PowerShell.Diagnostics и TroubleshootingPack.


Но для диагностики чего же эти модули? А вот с этим и будем разбираться ниже.

1. Module: Microsoft.PowerShell.Diagnostics

Запрос Get-Command -Module Microsoft.PowerShell.Diagnostics
нам выдаст список из 5-ти командлетов:
Export-Counter
Get-Counter    
Get-WinEvent  
Import-Counter   
New-WinEvent   

Командлеты этого модуля позволяют провети мониторинг производительности системы, выявлять и устранять ситуации, чреватые нарушением нормальной работы ОС. Я писал про это ранее, поэтому дальнейший материал излагаю бегло.

Для мониторинга производительности используются следующие команды:

Get-Counter — получат объекты, представляющие текущее значение счетчика производительности, непосредственно от инструментария Windows для мониторинга производительности. Поддерживается вывод наборов и отдельных счетчиков производительности, установка размера и интервала выборки данных, а также учетных данных пользователей, уполномоченных для просмотра сведений о производительности.
Get-Counter [-MaxSamples Размер_выборки] [-Counter] Путь_к_счетчику
[-SampleInterval Интервал] {AddtlParams}
Get-Counter -ListSet Имя_набора {AddtlParams}
{AddtlParams}
[-Credential Объект_уч._данных] [-ComputerName Компьютеры]

Export-Counter — экспортирует журналы счетчиков производительности в формате BLG (двоичный формат журнала; задан по умолчанию), CSV (формат с разделителями-запятыми) или TSV (формат с разделителями-табуляторами). Поддерживается экспорт данных, возвращаемых командлетами Get-Counter и Import-Counter (только в Windows 7, Windows Server 2008 R2 и выше).

Export-Counter [-FileFormat Формат] [-Path] Путь
-InputObject Объекты_выбранных_данных {AddtlParams}
{AddtlParams}
[-Force {$True | $False}] [-Circular {$True | $False}]
[-MaxSize МаксРазмер_в_байтах]

Import-Counter — импортирует журналы счетчиков производительности и создает на их основе представляющие выборки данных счетчиков объекты, объекты, идентичные тем, что возвращает Get-Counter. Поддерживается импорт файлов в форматах BLG, CSV и TSV. При использовании BLG разрешается импортировать до 32 файлов одной командой. Для импорта части содержимого журнала служат параметры Import-Counter
Import-Counter [-Path] Путь {AddlParams}
Import-Counter -ListSet Набор_счетчиков [-Path] Путь
Import-Counter [-Summary {$True | $False}]
{AddtlParams}
[-Counter Счетчики] [-MaxSamples Число_выборок]
[-StartTime Дата_время] [-EndTime Дата_время]

Командлет Get-Counter поддерживает мониторинг и вывод заданных параметров производительности в реальном времени. Требуемые сведения о производительности задаются с применением следующих компонентов:
  • объекты производительности - представляют системные компоненты, обладающие количественными характеристиками. Ими могут быть как физические (ОЗУ, процессоры, страничные файлы) так и логические (логические диски, очередь печати) компоненты операционной системы либо элементы программ (процессы и потоки);
  • экземпляры объектов производительности - представляют объекты производительности, связанные с экземплярами компонентов системы. Например, на многопроцессорном компьютере или компьютере с несколькими жесткими дисками с каждым процессором или диском связан свой экземпляр объекта производительности. Возможен мониторинг всех либо отдельных экземпляров объектов производительности (т.е. одного процессора либо всех процессоров компьютера одновременно);
  • счетчики производительности - представляют количественные характеристики объектов производительности. Например, для измерения утилизации страничного файла служит счетчик %Usage.

Для извлечения подробной информации из журналов событий используются командлеты Get-EventLog и Get-WinEvent. Достоинствами Get-EventLog являются гибкость и простота в использовании. С Get-WinEvent удобно применять сложные фильтры, основанные на XPath-запросах и хэш-значениях. Если сложные фильтры не нужны, то без Get-WinEvent можно обойтись. Get-WinEvent — получает сведения о событиях или трассировке из
журналов заданного компьютера:
Get-WinEvent [-ListLog] Журнал {BasicParams}
Get-WinEvent [-ListProvider] Поставщик {BasicParams}
Get-WinEvent [-Path] Файл_журнала {BasicParams} {AddtlParams}
Get-WinEvent [-LogName] Журнал {BasicParams} {AddtlParams}
332 Глава 1 3 Мониторинг и оптимизация работы Windows-компьютеров
Get-WinEvent [-ProviderName] Имя {BasicParams} {AddtlParams}
Get-WinEvent –FilterHashTable Значения {BasicParams} {AddtlParams}
{BasicParams}
[-ComputerName Имя_компьютера] [-Credential Объект_удостоверения]
{AddtlParams}
[-FilterXPath XPathQuery] [-Oldest] [-MaxEvents Число_событий]

Модули PSDiagnostics и TroubleshootingPack рассмотрим чуть позже.
Удачи..

No comments:

Post a Comment

А что вы думаете по этому поводу?