Добрый день. Пытаюсь настроить мониторинг UPS (Smart-UPS 1000 RM FW:616.3.I USB FW:8.1) на Windows Server 2008 R2, агент NetXMS 1.2.8. UPS подключён по USB с использованием драйвера libusb, контроль/выключение осуществляется через NUT. Конфиг агента:
Quote
MasterServers = ms-nms-01.root.local
LogFile = c:\NetXMS\log\nxagentd.log
FileStore = C:\NetXMS\var
EnabledCiphers = 1
RequireAuthentication = yes
RequireEncryption = yes
SharedSecret = 
EnableActions = no
SubAgent = logwatch.nsm
SubAgent = portcheck.nsm
SubAgent = winperf.nsm
SubAgent = ups.nsm
SubAgent = wmi.nsm
# Below is log parsers definitions
*LOGWATCH
Parser = C:\NetXMS\log\Application_log.xml
Parser = C:\NetXMS\log\system_log.xml
*UPS
Device = 0:ANY:USB
Пытаюсь получить параметры с UPS, к примеру, UPS.SerialNumber(0). Возвращается что параметр не поддерживается. Подскажите в чём может быть проблема.
			
				Так и не удалось решить проблему. Не подскажите, возможна ли вообще такая конфигурация. И как-то можно понять видит ли агент UPS, например из логов?
			
			
			
				Вообще должно так работать. Я к следующему релизу добавлю дебаг сообщений, тогда в логе увидим, что происходит.
			
			
			
				Спасибо, буду ждать  :)
			
			
			
				А у меня проблема несколько глубже, и я даже не знаю, то ли лыжи не едут, то ли я чего-то понять не могу. 
Без libusb агент бесперебойник видит, и выдаёт почти всё, кроме UPS.OnlineStatus.
С libusb под xp32 вот такое:
[WARN ] UPS: Cannot establish communication with device #0 "USB-ANY"
При всём при том:
upsc.exe ups1
battery.charge: 100
battery.charge.low: 10
battery.charge.warning: 50
battery.date: 2010/08/14
battery.mfr.date: 2010/08/14
battery.runtime: 2085
battery.runtime.low: 120
battery.type: PbAc
battery.voltage: 13.6
battery.voltage.nominal: 12.0
device.mfr: American Power Conversion
device.model: Back-UPS ES 525
device.serial: 4B1033P19388
device.type: ups
driver.name: usbhid-ups
driver.parameter.bus: bus-0
driver.parameter.pollfreq: 30
driver.parameter.pollinterval: 2
driver.parameter.port: auto
driver.parameter.product: Back-UPS ES 525 FW:851.t3.I USB FW:t3
driver.parameter.productid: 0002
driver.parameter.serial: 4B1033P19388
driver.parameter.vendor: American Power Conversion
driver.parameter.vendorid: 051D
driver.version: 2.6.5-3723:3731M
driver.version.data: APC HID 0.95
driver.version.internal: 0.37
input.sensitivity: medium
input.transfer.high: 255
input.transfer.low: 195
input.voltage: 228.8
input.voltage.nominal: 230
output.voltage.nominal: 2300.0
ups.beeper.status: enabled
ups.delay.shutdown: 20
ups.firmware: 851.t3.I
ups.firmware.aux: t3
ups.load: 28.0
ups.mfr: American Power Conversion
ups.mfr.date: 2010/08/14
ups.model: Back-UPS ES 525
ups.productid: 0002
ups.realpower.nominal: 300
ups.serial: 4B1033P19388
ups.status: OL
ups.test.result: No test initiated
ups.timer.reboot: 0
ups.timer.shutdown: -1
ups.vendorid: 051d
			
			
			
				После обновления до версии 1.2.13 проведу дебаг, для актуальности эксперимента.
			
			
			
				Обновил агент до версии 1.2.13. По видимому дебаг не корректно работает, в конфиге агента устанавливаю DebugLevel = 7. При запуске агента в лог файле:
Quote
[02-Apr-2014 13:33:56.484] Log file opened
[02-Apr-2014 13:33:56.484] [INFO ] Additional configs was loaded from C:\NetXMS\etc\nxagentd.conf.d
[02-Apr-2014 13:33:56.484] [INFO ] Debug level set to 0
[02-Apr-2014 13:33:56.734] [WARN ] Unable to load NETMAN.DLL
[02-Apr-2014 13:33:56.734] [INFO ] Subagent "WINNT.NSM" loaded successfully
[02-Apr-2014 13:33:57.155] [INFO ] Subagent "logwatch.nsm" loaded successfully
[02-Apr-2014 13:33:57.155] [INFO ] Subagent "portcheck.nsm" loaded successfully
[02-Apr-2014 13:33:58.793] [INFO ] Subagent "winperf.nsm" loaded successfully
[02-Apr-2014 13:33:58.809] [INFO ] Subagent "ups.nsm" loaded successfully
[02-Apr-2014 13:33:58.809] [INFO ] Subagent "wmi.nsm" loaded successfully
[02-Apr-2014 13:33:58.809] [WARN ] UPS: Cannot establish communication with device #0 "USB-ANY"
[02-Apr-2014 13:33:59.823] [INFO ] Listening on socket 0.0.0.0:4700
[02-Apr-2014 13:34:00.837] [INFO ] NetXMS Agent started
До этого была версия 1.2.8, в ней такая настройка работала корректно.
			
				Сейчас -D в командной строке имеет приоритет. Проверьте что при запуске агента не указывается -D0.
			
			
			
				Сделал дебаг с уровнем 9, посмотрите, пожалуйста.
			
			
			
				Какие-то устройства он похоже не может открыть. К сожалению русские тексты ошибок заменились на ???:
[03-Apr-2014 10:29:00.130] [DEBUG] UPS: CreateFile failed (???????? ? ???????.)
[03-Apr-2014 10:29:00.130] [DEBUG] UPS: CreateFile failed (???????? ? ???????.)
[03-Apr-2014 10:29:00.130] [DEBUG] UPS: SetupDiEnumDeviceInterfaces failed (?????????????? ?????? ???????????.)
Подозреваю что это "access denied".
Я добавил вывод имени устройства и поменял немного вызов на открытие устройства. Попробуйте приложенный субагент.
			
			
			
				Попробовал с новым файлом. Ошибка осталась. Приложил файл лога.
			
			
			
				А какой путь у самого UPS'a? Это должно быть видно в свойствах устройства (в закладке Details выбрать Hardware Ids).
			
			
			
				Что-то не догадался сам сначала посмотреть. Вот данные по UPS, во вложении скриншот со всеми usb устройствами.
[Strings]
DeviceName = "Smart-UPS 1000 RM FW:616.3.I USB FW:8.1"
VendorName = "American Power Conversion"
SourceName = "Smart-UPS 1000 RM FW:616.3.I USB FW:8.1 Install Disk"
DeviceID   = "VID_051D&PID_0002"
DeviceGUID = "{FF2BE1D3-0840-49F2-95C0-5A6AE51EB195}"
По видимому агент не верно определяет UPS и соответственно не к тем устройствам пытается подключиться.
			
			
			
				А можно вот такой ID добыть, как на скриншоте? (У меня USB UPS'а нет, поэтому просто от USB устройства).
			
			
			
				На этом сервере Windows Core, попробовал получить данные по UPS через ps. Прикрепил.