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 - Harun

#91
Да, спасибо, так работает.
#92
Общие вопросы / 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?
#93
При попытке импортировать шаблон получаю:
segfault at 0 ip 00007f78c9fe7c8a sp 00007f7895edc2b8 error 4 in libc-2.19.so[7f78c9f66000+19f000]

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


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

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

  • Существует ли C API, или есть только Java API?
  • Что будет, если я, например, добавлю ноду напрямую в БД?
#96
Добавил
https://dev.raden.solutions/issues/882

И крайне не хватает вот этого:
https://dev.raden.solutions/issues/876
нужно например для одного устройства создать пару десятков однотипных графиков, без шаблонов это куча ручной работы.
#97
После обновления до версии 2.0-RC1 шаблон перестал работать, видит только первый интерфейс, а остальные пропали.
Видимо это та же проблема:
https://www.netxms.org/forum/announcements/netxms-2-0-rc1-released/msg17520/#msg17520

2.0-RC2 - исправлено
#98
Есть какая-либо возможность добавлять predefined graph в dashboard?
#99
Все выше перечисленное - не функционал системы мониторинга, это функционал системы управления сетью (network management system).
#100
Тогда всё значительно упрощается

i = GetInterfaceObject($node, $1);
if ( i != null && i->adminState == 1 && i->ifType == 129)
{
  return %(true, $1, i->name);
}
return false;
#101
https://www.netxms.org/forum/configuration/interface-names-in-instance-discovery/msg15724/#msg15724
Тут советуют следующее - зачем запрашивать по SNMP лишнюю информацию, если она есть в самой системе. Окончательный вариант:


transport = CreateSNMPTransport($node);
if (transport == null)
return false;
x = SNMPGet(transport, ".1.3.6.1.2.1.2.2.1.3." . $1);
if (x == null)
return false;
if (x->value != 129)
return false;
i = GetInterfaceObject($node, $1);
if (i != null && i->adminState == 1)
{
  return %(true, $1, i->name);
}
return false;

Спасибо за помощь, всё работает как надо!
#102
Покопался в примерах, сделал такое:

SNMP Walk - OID
Base SNMP OID = .1.3.6.1.2.1.2.2.1.1

transport = CreateSNMPTransport($node);
if (transport == null)
return false;
x = SNMPGet(transport, ".1.3.6.1.2.1.2.2.1.3." . $1);
if (x == null)
return false;
if (x->value == "129")
return true;
return false;

Работает!

Есть вопрос. Каким способом в Description добавлять имя интерфейса? Сейчас Description = SignalToNoise {instance}, что неинформативно.
#103
Бьюсь, не могу разобраться, как правильно создать шаблон с 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?
#104
Да, спасибо, так работает.
#105
Где-то баг, при выполнении скрипта где-то идет усечение до 32 бит.