Есть ли у кого-нибудь ссылки на ресурсы, в которых перечислены классы perfmon, вызываемые языком запросов WMI? У меня есть программное обеспечение для мониторинга, которое может извлекать данные через WMI, но мне нужно ввести запрос на языке запросов WMI (WQL). Вот пример:
ВЫБЕРИТЕ AvgDiskQueueLength ИЗ Win32_PerfFormattedData_PerfDisk_logicalDisk ГДЕ Имя = "_ Всего"
Итак, у меня есть представление о синтаксисе, но я пытаюсь понять различные классы, в частности некоторые из MS SQL. Я пробовал использовать инструмент Scriptomatic для изучения информации WMI SQL-сервера, но с ним ничего не связано.
Операционная система сервера - Windows 2003, работающая под управлением MS SQL Server 2000.
Вот как я это делаю ...
Теперь должны отображаться все классы WMI perfmon на этом компьютере. Оттуда вы можете редактировать классы и видеть каждое свойство.
Вы можете использовать PowerShell для перечисления классов в пространстве имен.
get-wmiobject -list
перечислит все классы по умолчанию ("\root\cmiv2
") пространство имен, -namespace
Параметр можно использовать для указания другого пространства имен.
Чтобы получить все классы производительности, используйте:
get-wmiobject -list | ?{$_.Name -like 'Win32_PerfRaw*'}
для необработанных данных или:
get-wmiobject -list | ?{$_.Name -like 'Win32_PerfForm*'}
для данных formmater. Perfmon
показывает отформатированные данные (обработанные по типу счетчика), raw - это то, что поставщик счетчика производительности отправляет без дальнейшей обработки.
В MSDN есть лучший список классов WMI, но их бывает сложно отследить.
Классы SQL2005 находятся здесь. Однако, по словам Microsoft, «WMI Admin Provider не установлен предварительно для SQL Server 2000. Его необходимо установить отдельно с помощью WMI Admin Provider Setup, доступного вместе с установочным компакт-диском SQL Server 2000 в папке x86 \ other \ wmi. " После установки он, похоже, использует те же классы, что и SQL2005.
Это ссылка на справочник WMI по Server 2003.. Он включает SQL для функций адаптера WMI ODBC и должен предоставить вам все интересующие вас классы, отличные от SQL.
Немного сопоставив ответ Ричарда на Powershell, я нашел Обозреватель Powershell WMI быть отличной утилитой для просмотра, чтобы найти что-то в структуре WMI.
Вероятно, с сайта Scripting Guys:
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
Я использую этот сценарий для проверки или устранения неполадок, какие классы доступны на конкретном компьютере.
Скриптоматический - отличный маленький инструмент от Scripting Guys, который работает как обозреватель объектов WMI, а также выводит базовый сценарий на VB / Perl / Python, который запрашивает этот объект. Это отличная отправная точка.
Начало здесь, в MSDN. Обратите внимание на различные классы слева. Щелкните нужный для получения более подробной информации. Внутри самого Perfmon вы часто найдете более подробные описания того, как интерпретировать различные объекты класса.
http://www.solarwinds.com/products/freetools/wmi_monitor/
Хорошо работает, и это бесплатно.