Нужен ресурс, который перечисляет классы perfmon WMI
У кого-нибудь есть ссылки на ресурсы, в которых перечислены классы perfmon, вызываемые языком запросов WMI? У меня есть некоторое программное обеспечение для мониторинга, которое может извлекать данные через WMI, но мне нужно ввести запрос на языке запросов WMI (WQL). Вот пример:
ВЫБЕРИТЕ AvgDiskQueueLength FROM Win32_PerfFormattedData_PerfDisk_logicalDisk WHERE Name="_Total"
Итак, у меня есть представление о синтаксисе, но я пытаюсь выяснить различные классы, в частности, некоторые из классов MS SQL. Я попытался использовать инструмент Scriptomatic для изучения информации WMI на SQL-сервере, но с SQL Server ничего не связано.
Операционная система сервера - Windows 2003, работает под управлением MS SQL Server 2000.
8 ответов
Вы можете использовать PowerShell для перечисления классов в пространстве имен.
get-wmiobject -list
перечислит все классы по умолчанию ("\root\cmiv2
") пространство имен -namespace
Параметр может быть использован для указания другого пространства имен.
Чтобы получить все классы производительности, используйте:
get-wmiobject -list | ?{$_.Name -like 'Win32_PerfRaw*'}
для необработанных данных, или:
get-wmiobject -list | ?{$_.Name -like 'Win32_PerfForm*'}
для данных формы. Perfmon
показывает отформатированные данные (обработанные по типу счетчика), raw - это то, что провайдер счетчика производительности отправляет без дальнейшей обработки.
Вот как я это делаю...
- Пуск -> Запустить "wbemtest.exe"
- Подключитесь, измените Пространство имен на "root\cimv2", Подключитесь
- Нажмите Enum Classes, введите имя суперкласса "Win32_PerfFormattedData", ОК
Все классы perfmon WMI на этом компьютере теперь должны отображаться. Оттуда вы можете редактировать классы и посмотреть, что это за свойство.
MSDN имеет лучший список для классов WMI, но может быть трудно отследить их.
Классы SQL2005 здесь. Однако, по словам Microsoft, "Поставщик WMI-администратора не предустановлен для SQL Server 2000. Его необходимо устанавливать отдельно с помощью программы установки"WMI Admin Provider ", доступной вместе с установочным компакт-диском SQL Server 2000 в папке x86\other\wmi." После установки он использует те же классы, что и SQL2005.
Эта ссылка на ссылку на WMI Server 2003. Он включает в себя SQL-код для функций адаптера ODBC WMI и должен предоставить вам любые интересующие вас классы, отличные от SQL.
http://www.solarwinds.com/products/freetools/wmi_monitor/
Работает хорошо, и это бесплатно.
Scriptomatic - это отличный маленький инструмент от Scripting Guys, который работает как обозреватель объектов WMI, а также выводит базовый скрипт на VB/Perl/Python, который запрашивает этот объект. Это отличная отправная точка.
Вкратце рассуждая о ответе Ричарда на Powershell, я обнаружил, что Powershell WMI Explorer - это отличная утилита для поиска и поиска элементов в структуре WMI.
Вероятно, с сайта сценаристов:
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colClasses = objWMIService.SubclassesOf()
For Each objClass in colClasses
For Each objClassQualifier In objClass.Qualifiers_
If LCase(objClassQualifier.Name) = "dynamic" Then
WScript.Echo objClass.Path_.Class & ": " & _
objClassQualifier.Name & "=" & _
objClassQualifier.Value
End If
Next
Next
Я использую этот скрипт для проверки или устранения неполадок, какие классы доступны на конкретном компьютере.
Начните здесь, на MSDN. Обратите внимание на различные классы слева. Нажмите, какой вам нужен для более подробной информации. В самом Perfmon вы часто найдете более подробные описания того, как интерпретировать различные объекты класса.