Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - foxpdll

#1
Добрый день.
Есть необходимость в импорте в систему порядка 2000 устройств.
Была попытка залить через скрипт.
К сожалению она полностью провалилась, поскольку единственный метод, который позволяет добавить в систему новую ноду - исполняется порадка минуты с лишним.
Таким образом, импорт в систему практически не возможен.

К примеру имею такой скрипт в библиотеке скриптов

sub main()
{
   CreateNode(FindObject(2), $1, $1);
}

Вызывая его из консоли методом exec

exec foxAdd 192.168.1.1
exec foxAdd 192.168.1.2
exec foxAdd 192.168.1.3
exec foxAdd 192.168.1.4

Один вызов исполняется порядка полутора минут, хотя при ручном добавлении это происходит куда быстрее.
я что то делаю не так? или вызов в интерператоре и в ГУЙе различаются?


Подскажите, как импортировать 2000 устройств в netxms?

#2
Простите. Наблюдаю не совсем понятное поведение.
Если интерфейс в состоянии DOWN то у него в таблице interfaces перетираются поля Alias и Description
#4
Добрый день. Сабж.
В моем случае поле Alias критически важно но в андроид клиенте этого поля в интерфейсе просто нет.
Можно вас просить -добавить его?
#5
Добрый день.
Обнаружил странное поведение на андроид клиенте.
Если интерфейс на устройстве находится в состоянии UP то у него отображается дескрипшн.
Если Интерфейс переходит в сотстоягие Down то дескрипшн у него пропадает.
#6
Огромное спасибо.
Прошу меня простить, но не могли бы Вы добавить еще чуть чуть изменений.
в файле qtech-olt.cpp в 91 строке заменить строку
           oid[15] = iface->index;
на строку             
           oid[15] = iface->index - info->slot * 1000;


и принять следующий sql
если конечно это возможно

INSERT INTO object_tools (tool_id,tool_name,tool_type,tool_data,description,flags,tool_filter)
VALUES (10001,'QtechOLTsONT',2,'','Show ONTs on PON ports',5,'<objectToolFilter>
   <toolOS></toolOS>
   <toolTemplate></toolTemplate>
   <snmpOid>.1.3.6.1.4.1.27514.1.10.4.1</snmpOid>
</objectToolFilter>');
INSERT INTO object_tools_table_columns (tool_id,col_number,col_name,col_oid,col_format,col_substr)
VALUES (10001,0,'Num','.1.3.6.1.4.1.27514.1.11.4.1.1.1',1,1);
INSERT INTO object_tools_table_columns (tool_id,col_number,col_name,col_oid,col_format,col_substr)
VALUES (10001,1,'SN','.1.3.6.1.4.1.27514.1.11.4.1.1.2',0,1);
INSERT INTO object_tools_table_columns (tool_id,col_number,col_name,col_oid,col_format,col_substr)
VALUES (10001,2,'FW','.1.3.6.1.4.1.27514.1.11.4.1.1.12',0,1);
INSERT INTO object_tools_table_columns (tool_id,col_number,col_name,col_oid,col_format,col_substr)
VALUES (10001,3,'Description','.1.3.6.1.4.1.27514.1.11.4.1.1.13',0,1);
INSERT INTO object_tools_table_columns (tool_id,col_number,col_name,col_oid,col_format,col_substr)
VALUES (10001,4,'Uptime','.1.3.6.1.4.1.27514.1.11.4.1.1.19',0,1);
INSERT INTO object_tools_table_columns (tool_id,col_number,col_name,col_oid,col_format,col_substr)
VALUES (10001,5,'Distance','.1.3.6.1.4.1.27514.1.11.4.1.1.32',0,1);
INSERT INTO object_tools_table_columns (tool_id,col_number,col_name,col_oid,col_format,col_substr)
VALUES (10001,6,'RSSI','.1.3.6.1.4.1.27514.1.11.4.1.1.22',0,1);
INSERT INTO object_tools_table_columns (tool_id,col_number,col_name,col_oid,col_format,col_substr)
VALUES (10001,7,'Temp','.1.3.6.1.4.1.27514.1.11.4.1.1.24',0,1);
INSERT INTO object_tools_table_columns (tool_id,col_number,col_name,col_oid,col_format,col_substr)
VALUES (10001,8,'Status','.1.3.6.1.4.1.27514.1.11.4.1.1.3',0,1);
INSERT INTO object_tools (tool_id,tool_name,tool_type,tool_data,description,flags,tool_filter)
VALUES (10002,'QtechOLTsSFP',2,'','Show GPON SFP modules in PON ports',5,'<objectToolFilter>
   <toolOS></toolOS>
   <toolTemplate></toolTemplate>
   <snmpOid>.1.3.6.1.4.1.27514.1.10.4.1</snmpOid>
</objectToolFilter>');
INSERT INTO object_tools_table_columns (tool_id,col_number,col_name,col_oid,col_format,col_substr)
VALUES (10002,0,'Num','.1.3.6.1.4.1.27514.1.11.3.1.1.1.0',5,1);
INSERT INTO object_tools_table_columns (tool_id,col_number,col_name,col_oid,col_format,col_substr)
VALUES (10002,1,'Presence','.1.3.6.1.4.1.27514.1.11.3.1.1.15.0',0,1);
INSERT INTO object_tools_table_columns (tool_id,col_number,col_name,col_oid,col_format,col_substr)
VALUES (10002,2,'SN','.1.3.6.1.4.1.27514.1.11.3.1.1.16.0',0,1);
INSERT INTO object_tools_table_columns (tool_id,col_number,col_name,col_oid,col_format,col_substr)
VALUES (10002,3,'Distance','.1.3.6.1.4.1.27514.1.11.3.1.1.14.0',0,1);
INSERT INTO object_tools_table_columns (tool_id,col_number,col_name,col_oid,col_format,col_substr)
VALUES (10002,4,'Manufacturer','.1.3.6.1.4.1.27514.1.11.3.1.1.18.0',0,1);
INSERT INTO object_tools_table_columns (tool_id,col_number,col_name,col_oid,col_format,col_substr)
VALUES (10002,5,'Temp','.1.3.6.1.4.1.27514.1.11.3.1.1.19.0',0,1);
INSERT INTO object_tools_table_columns (tool_id,col_number,col_name,col_oid,col_format,col_substr)
VALUES (10002,6,'ManufacturedDate','.1.3.6.1.4.1.27514.1.11.3.1.1.17.0',0,1);


Буду крайне признателен
#7
Quote from: Victor Kirhenshtein on February 25, 2015, 11:48:06 PM
Я добавил метод

virtual void getInterfaceState(SNMP_Transport *snmp, StringMap *attributes, DriverData *driverData, UINT32 ifIndex, InterfaceAdminState *adminState, InterfaceOperState *operState);

в класс NetworkDeviceDriver. Можно его переопределить и реализовать собственную логику опросов интерфейсов.
Я вас практически люблю.
я только сделал патч
сейчас создам этот как его... фьючер реквест
#8
На сколько я понимаю, проверка статуса интерфейса проводиться в
/src/server/core/snmp.cpp
если я допишу свою логику обработки моих интерфейсов у меня все заработает.
но это частное решение.
По моему логичней было бы проверять статус интерфейса в том же ндд что и породил его.
#9
Доброе время суток.
Вынужден использовать крайне редкое и неадекватное железо от Qtech.
Родной поддержки нет. Некоторое время жил на Дьюде от микротика. Но перерос его.
Пришел на netxms. Написал свой драйвер для вышеуказанного железа.
Подскажите плиз кому и куда сдать исходник, чтобы добавили его в сырцы?
И не будет ли великой наглостью такая просьба?

И подскажите плиз, копался в коде - не могу понять.
При добавлении новых интерфейсов в устройство своим ндд драйвером наблюдаю то что
netxms пытается взять статус интерфейсов по индексу из ифмиба.
а в моем случае статусы лежат в совершенно другом месте.
Как быть? хочется полноценную проверку статуса. Если бы в ндд была функция проверки статусов интерфейсов то можно было бы это реализовать.