На Windows Server 2003 считывание длины очереди диска из SNMP с MRTG было простым:
snmpwalk -v1 -cpublic 192.168.1.20 1.3.6.1.4.1.9600.1.1.1.1.7
iso.3.6.1.4.1.9600.1.1.1.1.7.2.67.58 = Gauge32: 26
iso.3.6.1.4.1.9600.1.1.1.1.7.2.69.58 = Gauge32: 221
iso.3.6.1.4.1.9600.1.1.1.1.7.2.71.58 = Gauge32: 0
iso.3.6.1.4.1.9600.1.1.1.1.7.6.95.84.111.116.97.108 = Gauge32: 247
этот MIB не работает для Windows Server 2008 и 2012
есть ли другой простой способ прочитать очередь диска?
Теперь я сделал обслуживание на своем Windows Server 2012, и я использую IIS для моего сервера MRTG для доступа к данным, которые слишком сложны.
Вы можете прочитать дисковую очередь на сервере Windows, используя NC_Net
или NSCLIent++
агенты. Эти агенты предназначены для использования с Nagios; однако они также могут быть запрошены MRTG. Вы можете использовать mrtg-pnsclient
плагин для MRTG, который распространяется с интерфейсом Routers2. Он запрашивает с помощью протокола NSClient и может получить доступ к любому из счетчиков Windows PerfMon, который включает требуемое значение. У плагина есть компилируемая версия C и собственная версия Perl; версия C лучше, если вы можете ее скомпилировать.
Чтобы определить цель MRTG с помощью этого, имейте определение формы:
Target[disk-queue-total]: `mrtg-pnsclient -H hostname -v COUNTER -l "\\PhysicalDisk(_Total)\\Current Disk Queue Length" -v COUNTER -l "\\PhysicalDisk(_Total)\\Current Disk Queue Length"`
Заменить _total
с соответствующим идентификатором диска, если вам нужны значения для каждого диска.