NetXMS Support Forum

Russian Support => Общие вопросы => Topic started by: palaniuk on October 02, 2015, 11:01:42 AM

Title: CASA-C2200 upstream modem registererd
Post by: palaniuk on October 02, 2015, 11:01:42 AM
Здравствуйте. Я не так давно пользуюсь netxms, по этому нужна ваша помощь.
Есть устройство CASA-C2200 CMTS. Необходимо вывести график, отображающий количество модемов на одном upstream. Т.е. Для каждого upstream свой график с количеством модемов.
Знаю что нужно создать DCI только для определенных interface type. Как это реализовать? Что писать в скрипте?
Заранее, спасибо за помощь!

P.S. Тут есть что-то подобное.
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 != 205)
return false;
i = GetInterfaceObject($node, $1);
if (i != null && i->adminState == 1)
{
  return %(true, $1, i->name);
}
return false;


Но немного не то что нужно.
Есть oid .1.3.6.1.4.1.20858.10.12.1.2.1.2 - показывает количество модемов.
Он должен выполняться только при условии, что тип интерфейса 205.
Другими словами, необходим скрипт, который показывает количество модемов только для 205 типа интерфейса. Кто знает, как это реализовать?
Title: Re: CASA-C2200 upstream modem registererd
Post by: Harun on October 02, 2015, 12:03:29 PM
Пользуйтесь поиском, подобная тема уже была:
https://www.netxms.org/forum/oe-oo/kak-ao-oat-ao/
Да, и каким OID Вы собираетесь собирать этот параметре? В стандартном docsis if mib я не нашел.
Title: Re: CASA-C2200 upstream modem registererd
Post by: palaniuk on October 02, 2015, 01:03:55 PM
Спасибо за информацию.
Именно из этой темы я взял код скрипта, но он не работает :(
Я импортировал mib casa. Все необходимые oid у меня есть.
.1.3.6.1.4.1.20858.10.12.1.1.1.2 - кол-во зарегистрированных модемов на upstream
.1.3.6.1.4.1.20858.10.18.1.1.1.7 - SNR.
Title: Re: CASA-C2200 upstream modem registererd
Post by: Harun on October 02, 2015, 04:18:16 PM
А собственно где этот скрипт у вас работает? Куда Вы его внесли?
Title: Re: CASA-C2200 upstream modem registererd
Post by: palaniuk on October 05, 2015, 11:04:58 AM
Скрипт я запускаю через консоль. "Execute server script". Результатом его выполнения является "0"
Title: Re: CASA-C2200 upstream modem registererd
Post by: Harun on October 05, 2015, 11:42:05 AM
Во первых в той теме рабочий скрипт такой:

i = GetInterfaceObject($node, $1);
if ( i != null && i->adminState == 1 && i->ifType == 129)
{
  return %(true, $1, i->name);
}
return false;

Поменяйте ifType на нужный. Во вторых, скрипту нужно передать параметры node и instance, поэтому из консоли он работать не будет, нужно создать DCI,  и разместить его в Instance discovery filter script, а в качестве base snmp oid -  .1.3.6.1.2.1.2.2.1.1
Title: Re: CASA-C2200 upstream modem registererd
Post by: palaniuk on October 05, 2015, 01:58:29 PM
Спасибо за информацию, обязательно попробую  :)
Title: Re: CASA-C2200 upstream modem registererd
Post by: palaniuk on October 06, 2015, 09:42:43 AM
Harun, ваш совет очень помог разобраться ;). P.S. Скрипт не заработал, возможно я в нем накосячил.
Я немного подумал и нашел решение. Все реализуется без скрипта.
Для создания метрики под другой upstream - меняем индекс в конце. Индекс или Interface Index можно посмотреть, выделив нужный nod (в данном случае upstream) и открыв Object Details. 3 картинка.
Все это будет работать при условии что вы импортировали необходимые mib'ы (весь архив mib'ов для импорта приложу ниже).
Title: Re: CASA-C2200 upstream modem registererd
Post by: Harun on October 06, 2015, 01:28:38 PM
А если у Вас несколько десятков интерфейсов? Проще все-таки скриптом автоматизировать.
Title: Re: CASA-C2200 upstream modem registererd
Post by: palaniuk on October 06, 2015, 05:12:38 PM
Harun, Согласен, при большом количестве интерфейсов, скриптом будет быстрее. Только тут нужно будет учесть, то что на каждом Logical Upstream Channel свой Interface Index.
Например, Logical Upstream Channel 1/0/0 имеет индекс 397, Logical Upstream Channel 1/1/0  - индекс 398 и т.д.
Title: Re: CASA-C2200 upstream modem registererd
Post by: Harun on October 07, 2015, 11:27:08 AM
Вообще то скрипт как раз возвращает правильный индекс и имя интерфейса.
Title: Re: CASA-C2200 upstream modem registererd
Post by: palaniuk on October 07, 2015, 01:37:13 PM
Возможно я что-то не так делал, раз со криптом у меня не заработало, но и руками прописать, ничего сложного. Тем более я сомневаюсь, что у кого-то установлено более 5 CASA-C2200. У меня на 3х висит порядка 1000 модемов.

Если кому понадобится сам скрипт:

i = GetInterfaceObject($node, $1);
if ( i != null && i->adminState == 1 && i->ifType == 205)
{
  return %(true, $1, i->name);
}
return false;

OID на количество зарегистрированных модемов: 1.3.6.1.4.1.20858.10.12.1.1.1.2.(здесь индекс интерфейса)
OID на данные SNR (сигнал-шум): 1.3.6.1.2.1.10.127.1.1.4.1.5.(здесь индекс интерфейса)