2015-05-29 13 views
0

Мне нужно разработать службу windows-агента, которая будет всегда контролировать ресурсы только на текущей установленной машине. Контролируемыми ресурсами могут быть здоровье процессора, ловушки SNMP, состояние SQL Server.Мониторинг с использованием WMI или Perfmon (программно в .NET)

Я понял, что это может быть достигнуто программно в .NET с использованием WMI или Perfmon.

Я не уверен, какой из них использовать. Я ищу плюсы и минусы, и в какой ситуации нам нужно идти по каждому варианту.

ответ

1

Как правило, если счетчик доступен в исполнении, я бы начал там, но вы приземлитесь, используя как Perform, так и WMI как минимум. Например:

Если я хочу контролировать общую память, используемую на машине, я бы использовал счетчик Perfmon «Память, доступные килобайты». Я хотел бы также захватить общий объем памяти на компьютере с помощью WMI по следующим направлениям:

new ManagementObjectSearcher("root\\CIMV2", "select * from win32_computersystem") 

, а затем хранить TotalPhysicalMemory свойство в переменную totalKBytes.

Теперь, когда я хочу, чтобы вычислить% память, я делаю расчет:

(1.0f - (counter.NextValue()/totalKBytes)) * 100.0f 

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

 Смежные вопросы

  • Нет связанных вопросов^_^