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

Topics - Harun

#21
Мне необходимо получать уведомления об изменениях статусов портов. Я создал action и добавил в event processing policy в политики Show alarm when interface is down и Terminate interface down alarms when interface is up. Вопрос - как избавиться от вала сообщений SYS_IF_UP, если нода становится недоступна, а затем восстанавливается?
#22
Общие вопросы / DCI tables
September 20, 2015, 06:30:37 PM
Очень удобная вещь для сбора однотипных данных - таблицы DCI, но функционал ограничен. Есть ли способ сделать transformation для columns?
#23
Есть две разных инсталляции netxms с одинаковыми версиями, создан одинаковый DCI для снятия параметра memory used на роутерах Mikrotik. У Mikrotik два instance - "main memory" и "system disk", был создан instance discovery:

snmp walk - values: .1.3.6.1.2.1.25.2.3.1.1
script:
transport = CreateSNMPTransport($node);
if (transport == null)
return false;
name = SNMPGetValue(transport, ".1.3.6.1.2.1.25.2.3.1.3." . $1);
if (name == null)
return false;
return %(true, $1, name);


На одной инсталяции появляется два DCI с нужными именами, на второй - только одна (main memory), второй не видно. Сделал tcpdump работы DCI, вроде опрашивает всё верно:

IP 10.11.0.3.53103 > 10.11.0.1.161:  C=community GetNextRequest(29)  .1.3.6.1.2.1.25.2.3.1.1
IP 10.11.0.1.161 > 10.11.0.3.53103:  C=community GetResponse(35)  .1.3.6.1.2.1.25.2.3.1.1.65536=65536
IP 10.11.0.3.53103 > 10.11.0.1.161:  C=community GetNextRequest(32)  .1.3.6.1.2.1.25.2.3.1.1.65536
IP 10.11.0.1.161 > 10.11.0.3.53103:  C=community GetResponse(35)  .1.3.6.1.2.1.25.2.3.1.1.131072=131072
IP 10.11.0.3.53103 > 10.11.0.1.161:  C=community GetNextRequest(32)  .1.3.6.1.2.1.25.2.3.1.1.131072
IP 10.11.0.1.161 > 10.11.0.3.53103:  C=community GetResponse(41)  .1.3.6.1.2.1.25.2.3.1.2.65536=.1.3.6.1.2.1.25.2.1.1
IP 10.11.0.3.37580 > 10.11.0.1.161:  C=community GetRequest(32)  .1.3.6.1.2.1.25.2.3.1.3.65536
IP 10.11.0.1.161 > 10.11.0.3.37580:  C=community GetResponse(43)  .1.3.6.1.2.1.25.2.3.1.3.65536="main memory"
IP 10.11.0.3.42202 > 10.11.0.1.161:  C=community GetRequest(32)  .1.3.6.1.2.1.25.2.3.1.3.131072
IP 10.11.0.1.161 > 10.11.0.3.42202:  C=community GetResponse(43)  .1.3.6.1.2.1.25.2.3.1.3.131072="system disk"


Еще проверка:

snmpwalk 10.11.0.1 .1.3.6.1.2.1.25.2.3.1.3
iso.3.6.1.2.1.25.2.3.1.3.65536 = STRING: "main memory"
iso.3.6.1.2.1.25.2.3.1.3.131072 = STRING: "system disk"


Из дампа видно, что netxms опрашивает оба instance, но DCI создает только для первого. В чем может быть дело?
#24
Общие вопросы / Node Bridge Base Address
August 31, 2015, 10:59:32 AM
Как в nxsl получить атрибут ноды Bridge Base Address?
#25
Есть ли возможность уменьшить шрифты? Большую часть экрана занимает легенда, из-за чего графики становятся неинформативными. Привожу для сравнение скриншоты вебкосноли с уменьшенными шрифтами и консоль, запущенную локально. Во втором случае при том же разрешении экрана графики нечитаемы.
#26
Общие вопросы / NXSL: Hex to Dec
August 23, 2015, 01:09:09 PM
Есть задача - мониторить сеть кабельных модемов. Некоторые параметры устройств можно прочитать только с головного устройства, чтобы прочитать искомый параметр по snmp, нужно знать внутренний ID модема. ID модема можно получить, используя специальный OID вида:
.oid.o1.o2.o3.o4.o5.o6, где oX - октет адреса MAC модема в десятичном виде. MAC адрес модема я могу получить в виде строки XX:XX:XX:XX:XX:XX, разбиваю строку на октеты при помощи функции substr. Вопрос - как я могу сделать преобразование hex в dec для формирования OID?
#27
При попытке импортировать шаблон получаю:
segfault at 0 ip 00007f78c9fe7c8a sp 00007f7895edc2b8 error 4 in libc-2.19.so[7f78c9f66000+19f000]

#28
Может быть что-то делаю не так, никак не работает FindObject в скрипте:
sub main()
{
   cmts = FindObject(104);
   if ( cmts == null ) return -1;
   return 0;
}


Подставляю и id объекта, и имя ноды - всегда возвращает null. В чем может быть дело?

#29
Общие вопросы / API
August 18, 2015, 07:11:16 AM
Хочу сделать интеграцию с OSS/BSS системой, нужна возможность удалять/добавлять ноды.

  • Существует ли C API, или есть только Java API?
  • Что будет, если я, например, добавлю ноду напрямую в БД?
#30
Есть какая-либо возможность добавлять predefined graph в dashboard?
#31
Бьюсь, не могу разобраться, как правильно создать шаблон с Instance Dicsovery.

Например, мне нужно снимать сигнал/шум для некоторых интерфейсов по условию:

Для всех интерфейсов, у которых ifTable.ifEntry.ifType = 129 нужно создавать DCI  SNMP OID .1.3.6.1.2.1.10.127.1.1.4.1.5.<ID>, где <ID> - id интерфейса.

В Data Parametr я ввожу .1.3.6.1.2.1.10.127.1.1.4.1.5.{instance}, в Instance Dicsovery добавляю в поле Base SNMP OID .1.3.6.1.2.1.2.2.1.3 (ifTable.ifEntry.ifType), ставлю метод SNMP Walk - OIDs. Как теперь правильно создать filter script?
#32
Пытаюсь снять график загрузки интерфейса 10G, для примера, OID .1.3.6.1.2.1.31.1.1.1.6.512, тип данных - unsigned integer 64 bit, но почему-то при просмотре history в базе отрицательные значения delta, и на графиках ерунда. Ус-во отдает верные данные, счетчики не могут переполнятся.

Проблема возникает где-то в transformation script, при отключении скрипта:
return $1 * 8;
всё нормализуется. В итоге нормально могу видеть графики в Гбайт/сек. Может где-то в скрипте переполнение?
#33
Custom карты очень неплохи, но крайне нехватает возможности ставить комментарии - вставка текстовых блоков и редактирование текста.