Вычисление размера носителей в таблице из SNMP

Started by SkyRanger, September 19, 2019, 09:39:00 AM

Previous topic - Next topic

SkyRanger

Я создал таблицу с запросов значений из SNMP из OID .1.3.6.1.2.1.25.2.3.1.1

У меня 4 столбца Index, Name, Units, Size

из OID
.1.3.6.1.2.1.25.2.3.1.1
.1.3.6.1.2.1.25.2.3.1.3
.1.3.6.1.2.1.25.2.3.1.4
.1.3.6.1.2.1.25.2.3.1.5

Теперь мне нужно чтобы размер указывался в байтах, а лучше в гигабайтах

я пытаюсь сделать трансформацию так:

sub main() {
units = $1->getColumnIndex("Units");
size = $1->getColumnIndex("Size");

for(i = 0; i < $1->rowCount; i++)
{
   $1->set(i, size, units*size);
}
}

Но, видимо, что то делаю не так, не помогает :(

А вообще я бы хотел сделать шаблон, который показывал все харды сервера на закладке Perfomance в  виде графиков или на Дашборде в виде Gauge

Вот результаты запросов

Кстати в результатах Units почему то везде стоит 6 :(

iso.3.6.1.2.1.25.2.3.1.1.1 = INTEGER: 1
iso.3.6.1.2.1.25.2.3.1.1.2 = INTEGER: 2
iso.3.6.1.2.1.25.2.3.1.1.3 = INTEGER: 3
iso.3.6.1.2.1.25.2.3.1.1.4 = INTEGER: 4

iso.3.6.1.2.1.25.2.3.1.3.1 = STRING: "C:\\ Label:  Serial Number 3c5db92f"
iso.3.6.1.2.1.25.2.3.1.3.2 = STRING: "D:\\"
iso.3.6.1.2.1.25.2.3.1.3.3 = STRING: "Virtual Memory"
iso.3.6.1.2.1.25.2.3.1.3.4 = STRING: "Physical Memory"


iso.3.6.1.2.1.25.2.3.1.4.1 = INTEGER: 4096
iso.3.6.1.2.1.25.2.3.1.4.2 = INTEGER: 0
iso.3.6.1.2.1.25.2.3.1.4.3 = INTEGER: 65536
iso.3.6.1.2.1.25.2.3.1.4.4 = INTEGER: 65536

iso.3.6.1.2.1.25.2.3.1.5.1 = INTEGER: 13017087
iso.3.6.1.2.1.25.2.3.1.5.2 = INTEGER: 0
iso.3.6.1.2.1.25.2.3.1.5.3 = INTEGER: 76665
iso.3.6.1.2.1.25.2.3.1.5.4 = INTEGER: 65401