Импортирует файлы журналов счетчиков производительности (BLG, CSV, TSV) и создает объекты, представляющие каждую выборку счетчика в журнале.
Синтаксис
Import-Counter [-Path] <string[]> [-Counter <string[]>] [-EndTime <DateTime>] [-MaxSamples <Int64>] [-StartTime <DateTime>] [<CommonParameters>] Import-Counter [-Path] <string[]> -ListSet <string[]> [<CommonParameters>] Import-Counter [-Path] <string[]> -Summary <switch> [<CommonParameters>]
Описание
Командлет Import-Counter импортирует данные счетчиков производительности из файлов журналов счетчиков производительности и создает объекты для каждой выборки счетчика в файле. Созданные объекты PerformanceCounterSampleSet, идентичны объектам, возвращаемым командлетом Get-Counter при сборе данных счетчиков производительности.
Данные можно импортировать из файлов журналов производительности в формате значений, разделенных запятыми (CSV), в формате значений, разделенных табуляциями (TSV), и в формате двоичных журналов производительности (BLG). При использовании файлов BLG с помощью одной команды можно импортировать до 32 различных файлов. Кроме того, для фильтрации импортируемых данных можно использовать командлет Import-Counter.
С помощью этой возможности, а также командлетов Get-Counter и Export-Counter, можно собирать, экспортировать, импортировать, объединять, фильтровать, обрабатывать и повторно экспортировать данные счетчиков производительности в оболочке Windows PowerShell.
Параметры
-Counter <string[]>
Импортирует данные только для указанных счетчиков производительности. По умолчанию командлет Import-Counter импортирует все данные для всех счетчиков во входных файлах. Введите один или несколько путей счетчиков. Подстановочные знаки разрешается использовать только в часть Instance пути.
Путь счетчика имеет следующий формат. Обратите внимание, что значение ComputerName необходимо указывать в пути даже для локального компьютера.
"\\<ComputerName>\<CounterSet>(<Instance>)\<CounterName>"
Пример:
"\\Server01\Processor(2)\% User Time"
"\Processor(*)\% Processor Time
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
true |
-EndTime <DateTime>
Импортирует только данные счетчика, штамп времени которых меньше либо равен указанным дате и времени. Укажите объект DateTime, например объект, возвращенный командлетом Get-Date. По умолчанию командлет Import-Counter импортирует все данные счетчиков из файлов, указанных в параметре Path.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
-ListSet <string[]>
Получает наборы счетчиков производительности, представленные в экспортированных файлах. Команды с этим параметром не импортируют данные.
Введите одно или несколько имен наборов счетчиков. Подстановочные знаки разрешены. Чтобы получить все наборы счетчиков, имеющиеся в файле, введите команду "import-counter -listset *".
Обязательно? |
true |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
true |
-MaxSamples <Int64>
Задает максимальное число выборок, импортируемых для каждого счетчика. По умолчанию командлет Get-Counter импортирует все данные из файлов, указанных в параметре Path.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
-Path <string[]>
Задает пути к импортируемым файлам. Это обязательный параметр.
Введите путь и имя файла с расширением CSV, TSV или BLG, экспортированного с помощью командлета Export-Counter. В каждой команде можно задать только один файл CSV или TSV, но несколько файлов BLG (до 32). Кроме того, строки путей к файлам (в кавычках) можно по конвейеру передать в командлет Import-Counter.
Обязательно? |
true |
Позиция? |
2 |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
true (ByValue) |
Принимать подстановочные знаки? |
true |
-StartTime <DateTime>
Импортирует только данные счетчика, штамп времени которых больше либо равен указанным дате и времени. Укажите объект DateTime, например объект, возвращенный командлетом Get-Date. По умолчанию командлет Import-Counter импортирует все данные счетчиков из файлов, указанных в параметре Path.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
-Summary <switch>
Получает сводку импортированных данных вместо получения отдельных выборок данных счетчиков.
Обязательно? |
true |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
<CommonParameters>
Данный командлет поддерживает общие параметры -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer и -OutVariable. Дополнительные сведения см. в разделе about_Commonparameters.
Ввод и вывод
Входным типом является тип объектов, которые можно передавать командлету по конвейеру. Возвращаемым типом является тип объектов, возвращаемых командлетом.
Входные данные |
System.String Пути журналов счетчиков производительности можно передать в командлет Import-Counter по конвейеру. |
Выходные данные |
Microsoft.PowerShell.Commands.GetCounter.PerformanceCounterSampleSet, Microsoft.PowerShell.Commands.GetCounter.CounterSet, Microsoft.PowerShell.Commands.GetCounter.CounterFileInfo По умолчанию командлет Import-Counter возвращает Microsoft.PowerShell.Commands.GetCounter.PerformanceCounterSampleSet. При использовании параметра ListSet командлет Import-Command возвращает объект Microsoft.PowerShell.Commands.GetCounter.CounterSet. При использовании параметра Summary командлет Import-Command возвращает объект Microsoft.PowerShell.Commands.GetCounter.CounterFileInfo. |
Примечания
В командлете Import-Counter не предусмотрен параметр ComputerName. Однако, если компьютер настроен на удаленное взаимодействие в Windows PowerShell, с помощью командлета Invoke-Command можно запускать команду Import-Counter на удаленном компьютере.
Пример 1
C:\PS># Import-Counter Описание ----------- Эта команда импортирует все данные счетчиков из файла ProcessorData.csv в переменную $data. C:\PS> $data = import-counter -path ProcessorData.csv
Пример 2
C:\PS># Import-Counter Описание ----------- Эта команда импортирует только данные счетчика "Processor(_total)\Interrupts\sec" из файла ProcessorData.blg в переменную $i. C:\PS> $i = import-counter -path ProcessorData.blg -counter "\\SERVER01\Processor(_Total)\Interrupts/sec"
Пример 3
C:\PS># Import-Counter Описание ----------- В этом примере показано, как выбирать данные в файле журнала счетчика производительности (BLG), а затем экспортировать выбранные данные в CSV-файл. Первые четыре команды получают из файла пути счетчиков и сохраняют их в переменной. Последние две команды импортируют выбранные данные, а затем экспортируют только выбранные данные. Первая команда с помощью командлета Import-Counter импортирует все данные счетчиков производительности из файлов ProcessorData.blg. Команда сохраняет данные в переменной $data. C:\PS> $data = import-counter .\processordata.blg Вторая команда отображает пути счетчиков, сохраненные в переменной $data, в результатах выполнения команды. C:\PS> $data[0].countersamples | format-table path Path ---- \\SERVER01\Processor(_Total)\DPC Rate \\SERVER01\Processor(1)\DPC Rate \\SERVER01\Processor(0)\DPC Rate \\SERVER01\Processor(_Total)\% Idle Time \\SERVER01\Processor(1)\% Idle Time \\SERVER01\Processor(0)\% Idle Time \\SERVER01\Processor(_Total)\% C3 Time \\SERVER01\Processor(1)\% C3 Time ... Третья команда получает пути счетчиков, которые заканчиваются на "Interrupts/sec", и сохраняет их в переменной $IntCtrs. C:\PS> $IntCtrs = $data[0].countersamples | where {$_.path -like "*interrupts/sec"} | foreach {$_.path} Четвертая команда отображает выбранные пути счетчиков. C:\PS> $IntCtrs \\SERVER01\Processor(_Total)\Interrupts/sec \\SERVER01\Processor(1)\Interrupts/sec \\SERVER01\Processor(0)\Interrupts/sec Пятая команда с помощью командлета Import-Counter импортирует данные. В ней используется параметр Counter с переменной $IntCtrs, чтобы импортировать данные только для путей счетчиков, указанных в переменной $IntCtrs. C:\PS> $i = import-counter -path .\processordata.blg -counter $intCtrs Шестая команда с помощью командлета Export-Counter экспортирует данные. C:\PS> $i | export-counter -path .\interrupts.csv -format CSV
Пример 4
C:\PS># Import-Counter Описание ----------- В этом примере показано, как отобразить все пути счетчиков в группе импортированных наборов счетчиков. Первая команда с помощью параметра ListSet получает наборы счетчиков, представленные в файле данных счетчика. C:\PS> import-counter -path processordata.csv -listset * CounterSetName : Processor MachineName : \\SERVER01 CounterSetType : MultiInstance Description : Paths : {\\SERVER01\Processor(*)\DPC Rate, \\SERVER01\Processor(*)\% Idle Time, \\SERVER01 \Processor(*)\% C3 Time, \\SERVER01\Processor(*)\% Interrupt Time...} PathsWithInstances : {\\SERVER01\Processor(_Total)\DPC Rate, \\SERVER01\Processor(1)\DPC Rate, \\SERVER01 \Processor(0)\DPC Rate, \\SERVER01\Processor(_Total)\% Idle Time...} Counter : {\\SERVER01\Processor(*)\DPC Rate, \\SERVER01\Processor(*)\% Idle Time, \\SERVER01 \Processor(*)\% C3 Time, \\SERVER01\Processor(*)\% Interrupt Time...} Вторая команда получает все пути счетчиков из набора списка. C:\PS> import-counter -path processordata.csv -listset * | foreach {$_.paths} \\SERVER01\Processor(*)\DPC Rate \\SERVER01\Processor(*)\% Idle Time \\SERVER01\Processor(*)\% C3 Time \\SERVER01\Processor(*)\% Interrupt Time \\SERVER01\Processor(*)\% C2 Time \\SERVER01\Processor(*)\% User Time \\SERVER01\Processor(*)\% C1 Time \\SERVER01\Processor(*)\% Processor Time \\SERVER01\Processor(*)\C1 Transitions/sec \\SERVER01\Processor(*)\% DPC Time \\SERVER01\Processor(*)\C2 Transitions/sec \\SERVER01\Processor(*)\% Privileged Time \\SERVER01\Processor(*)\C3 Transitions/sec \\SERVER01\Processor(*)\DPCs Queued/sec \\SERVER01\Processor(*)\Interrupts/sec
Пример 5
C:\PS># Import-Counter Описание ----------- В этом примере импортируются только данные счетчиков со штампом времени в диапазоне времени, указанном в команде. Первая команда составляет список штампов времени всех данных в файле ProcessorData.blg. C:\PS> import-counter -path .\disk.blg | format-table timestamp Вторая и третья команды сохраняют начальный и конечный штампы времени в переменных $start и $end. Строки преобразуются в объекты DateTime. C:\PS> $start = [datetime]"7/9/2008 3:47:00 PM" C:\PS> $end = [datetime]"7/9/2008 3:47:59 PM" Четвертая команда с помощью командлета Import-Counter получает данные счетчиков со штампами времени в диапазоне между начальным и конечным временами (включительно). Для указания диапазона времени в команде используются параметры StartTime и EndTime. C:\PS> $t-data = import-counter -path disk.blg -starttime $start -endtime $end
Пример 6
C:\PS># Import-Counter Описание ----------- В этом примере показано, как импортировать пять самых старых и пять самых новых выборок из файла журнала счетчика производительности. Первая команда использует командлет Import-Counter для импорта данных из файла Disk.blg. В команде используется параметр MaxSamples для ограничения числа импортируемых выборок до 5. Эта команда получает первые (самые старые) пять выборок из файла. C:\PS> import-counter -path disk.blg -maxSamples 5 Вторая команда использует синтаксис работы с массивами и оператор диапазона Windows PowerShell (..) для получения последних пяти выборок счетчиков из файла. Это пять самых новых выборок. C:\PS> (import-counter -path disk.blg)[-1 .. -5]
Пример 7
C:\PS># Import-Counter Описание ----------- Команда использует параметр Summary, чтобы получить сводку данных счетчика из файла Memory.blg. C:\PS> import-counter D:\Samples\memory.blg -summary OldestRecord NewestRecord SampleCount ------------ ------------ ----------- 10.07.2008 14:59:18 10.07.2008 15:00:27 1000
Пример 8
C:\PS># Import-Counter Описание ----------- В этом примере обновляется файл журнала счетчиков производительности. Первая команда с помощью параметра ListSet командлета Import-Counter получает счетчики из существующего файла журнала счетчиков OldData.blg. В команде используется оператор конвейера (|) для передачи данных команде Foreach-Object, которая получает для каждого объекта только значения свойства PathsWithInstances. C:\PS> $counters = import-counter olddata.blg -ListSet * | foreach {$_.PathsWithInstances} Вторая команда использует эти счетчики в новой команде Get-Counter для получения текущей выборки, а затем экспортирует ее в файл NewData.blg. C:\PS> get-counter -counter $counters -maxSamples 20 | export-counter c:\Logs\newdata.blg
Пример 9
C:\PS># Import-Counter Описание ----------- Эта команда импортирует данные из двух журналов производительности и сохраняет их в переменной $counters. Команда передает пути журналов производительности в командлет Import-Counter с помощью оператора конвейера. C:\PS> $counters = "d:\test\pdata.blg", "d:\samples\netlog.blg" | import-counter Обратите внимание, что каждый путь заключен в кавычки, и пути разделены запятыми.
См. также