itmicus / zabbix

Zabbix Templates
GNU General Public License v3.0
156 stars 265 forks source link

Hyper-V Host total physical memory not supported in Template Microsoft Hyper-V #24

Open greemf opened 6 years ago

greemf commented 6 years ago

Здравствуйте. Тестирую темплейт. Заббикс пишет not supported для айтемов:

В инфо:

Cannot evaluate function "last()": item "hvtest:wmi.get[root\cimv2,select TotalPhysicalMemory from Win32_ComputerSystem]" does not exist.

gwmi Win32_ComputerSystem на хосте:

Domain : WORKGROUP Manufacturer : LENOVO Model : F0CD007JRK Name : HVTEST PrimaryOwnerName : Windows User TotalPhysicalMemory : 4189085696

В чем может быть причина?

sergeeximius commented 5 years ago

Поддерживаю, не работает до сих пор. При этом zabbix_get отдает значение нормально: root@zabbix:/home/appliance# zabbix_get -s 192.168.0.250 -k 'wmi.get[root\cimv2,select TotalPhysicalMemory from Win32_ComputerSystem]' выводит 17136431104

В логе сервера такая ошибка: 3600:20190222:064500.601 item "srv-hyperv-1:hyperv.hv.TotalPhysicalMemory" became not supported: Cannot evaluate function "last()": item "srv-hyperv-1:wmi.get[root\cimv2,select TotalPhysicalMemory from Win32_ComputerSystem]" does not exist.

sergeeximius commented 5 years ago

Решение этой проблемы. Нужно добавить 2 недостающих элемента данных (итема). Ниже на скринах видно какие делать, и так же экспортированный шаблон с добавленными этими элементами.

Solution for wmi.get problem [root \ cimv2, select TotalPhysicalMemory from Win32_ComputerSystem] does not exist. You need to add the following items:

FreePhysicalMemory item TotalPhysicalMemory item Template with changes

dukercs commented 5 years ago

FreePhysicalMemory item TotalPhysicalMemory item Template with changes

How did you do with the calculated item Hyper-V Root memory assigned in the expression I'm still getting a the error: Cannot evaluate function "last()": item "DTF-HYPERVB-1:wmi.get[root\cimv2, select FreePhysicalMemory from Win32_OperatingSystem]" does not exist.

Is there any way to change last("wmi.get ....") to last("FreePhysicalMemory") ?

dukercs commented 5 years ago

Now I figured it out!! To use a key in a calculated item the key must be referenced by an item.

Вычисляемый элемент данных может перейти в неподдерживаемое состояние в нескольких случаях:

элемент(ы) данных, на которые имеется ссылка
    не найден
    деактивирован
    принадлежит деактивированному узлу сети
    не поддерживается (смотрите исключения в разделах Функции и неподдерживаемые элементы данных, Выражения с неподдерживаемыми элементами данных и неизвестными значениями и Операторы)