WMI.Query - 404: Unknown parameter...

Started by Dmitry, July 30, 2008, 10:18:05 AM

Previous topic - Next topic

Dmitry

Приветствую!

Удавалось ли кому вытащить WMI.Query?
1. Subagent = wmi.nsm прописал в nxagentd.conf
2. Агента рестартовал
3. Configuration poll для соответствующего нода на сервере сделал
4. В списке доступных DCI появилась WMI.Query(*)
5. Сделал вот такой DCI: WMI.Query(root\CIMV2,SELECT * FROM Win32_Processor,Name)
6. На одном из агентов сработало, на другом - нет :(
Попытка запустить nxget выдает следующее:

E:\NetXMS\bin>nxget.exe localhost WMI.Query('root\CIMV2','SELECT * FROM Win32_Processor','Name')
Error loading RSA keys from "C:\NetXMS\var\server_key"
404: Unknown parameter

По поводу первого особо не парюсь, а вот что означает "404: Unknown parameter"? То же самое выдается, если внутренности WMI.Query поместить без апострофов, или в кавычках...

Anth0ny

Quote from: Dmitry on July 30, 2008, 10:18:05 AM
Приветствую!

Удавалось ли кому вытащить WMI.Query?
1. Subagent = wmi.nsm прописал в nxagentd.conf
2. Агента рестартовал
3. Configuration poll для соответствующего нода на сервере сделал
4. В списке доступных DCI появилась WMI.Query(*)
5. Сделал вот такой DCI: WMI.Query(root\CIMV2,SELECT * FROM Win32_Processor,Name)
6. На одном из агентов сработало, на другом - нет :(
Попытка запустить nxget выдает следующее:

E:\NetXMS\bin>nxget.exe localhost WMI.Query('root\CIMV2','SELECT * FROM Win32_Processor','Name')
Error loading RSA keys from "C:\NetXMS\var\server_key"
404: Unknown parameter

По поводу первого особо не парюсь, а вот что означает "404: Unknown parameter"? То же самое выдается, если внутренности WMI.Query поместить без апострофов, или в кавычках...

не совсем понятно назначение строки:

E:\NetXMS\bin>nxget.exe localhost WMI.Query('root\CIMV2','SELECT * FROM Win32_Processor','Name')

вообще WMI-запрос может быть выполнен только с сервера NetXMS.
получается, что ты запрашиваешь WMI-инфу самого сервера?

а для диагностики рекомендую WMI Explorer от www.ks-soft.net (бесплатная вещь). сможешь убедиться что WMI вообще отвечает.

Dmitry

Quote from: Anth0ny on July 30, 2008, 10:23:39 AM
не совсем понятно назначение строки:

E:\NetXMS\bin>nxget.exe localhost WMI.Query('root\CIMV2','SELECT * FROM Win32_Processor','Name')

вообще WMI-запрос может быть выполнен только с сервера NetXMS.
получается, что ты запрашиваешь WMI-инфу самого сервера?

Да, я запрашиваю инфу на самом сервере с самого же сервера. Вопрос - что я делаю неправильно, что мне не выдается результат?

Anth0ny

попробуй всётаки сначала предложенный мною WMI-эксплорер.
если он получит данные, то можно думать дальше...

Dmitry

Данные он получает. Мало того, с этого сервера данные приходят в NetXMS. Но я не могу их воспроизвести их nxget.

Anth0ny

nxget.exe localhost WMI.Query('root\CIMV2','SELECT * FROM Win32_Processor','Name')
nxget.exe 10.10.1.1 "WMI.Query(root\CIMV2,SELECT * FROM Win32_Processor,Name)"

найди два основных отличия между нашими запросами =))

Dmitry

Ага. Теперь выдает
500: Internal Error
:(

Anth0ny

такой запрос:

nxget.exe localhost "WMI.Query(root\CIMV2,SELECT * FROM Win32_Processor,Name)"

выдаёт "500"?

Dmitry

Quote from: Anth0ny on July 30, 2008, 11:04:46 AM
такой запрос:

nxget.exe localhost "WMI.Query(root\CIMV2,SELECT * FROM Win32_Processor,Name)"

выдаёт "500"?
Ага.

Anth0ny

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

попробуй 2 вещи:

1. посмотри права доступа к WMI, может у Local (или Network) Service нет доступа
2. попробуй сделать подобный запрос из wmi браузера. он там отличается но незначительно.

класс: Win32_Processor
запрос: select * from Win32_Processor

должно выдать всю инфу по всем процессорам сервера.

а запрос "root\CIMV2,SELECT * FROM Win32_Processor,Name" выдерает из WMI туже инфу, но отображает только содержимое поля Name.

Dmitry