Usm cabletest: различия между версиями

Материал из WiKi - UserSide
Нет описания правки
 
(не показано 20 промежуточных версий 3 участников)
Строка 1: Строка 1:
[[Usm_cabletest_EN|en]] | [[Usm_cabletest|ru]]
'''USM_CABLETEST''' ''- это модуль для периодического опроса кабельным тестером длин кабелей для известных моделей коммутаторов, фиксация результатов и вывод уведомлений об изменении значений''  
'''USM_CABLETEST''' ''- это модуль для периодического опроса кабельным тестером длин кабелей для известных моделей коммутаторов, фиксация результатов и вывод уведомлений об изменении значений''  


Строка 17: Строка 19:
  JSON
  JSON
  Data::Dumper
  Data::Dumper
  Net::Telnet()
  Net::Telnet
  Net::SNMP
  Net::SNMP


Строка 28: Строка 30:
  D-Link DES-3028
  D-Link DES-3028
  D-Link DES-3028G
  D-Link DES-3028G
D-Link DES-3052
D-Link DES-3200-10
D-Link DES-3200-10/C1
D-Link DES-3200-18
D-Link DES-3200-18/C1
  D-Link DES-3200-26
  D-Link DES-3200-26
  D-Link DES-3200-26/C1
  D-Link DES-3200-26/C1
Строка 33: Строка 40:
  D-Link DES-3200-28/C1  
  D-Link DES-3200-28/C1  
  D-Link DES-3200-28F  
  D-Link DES-3200-28F  
D-Link DES-3200-28F/C1
  D-Link DES-3200-52  
  D-Link DES-3200-52  
  D-Link DES-3200-52/C1  
  D-Link DES-3200-52/C1  
  D-Link DES-3526
  D-Link DES-3526
  D-Link DES-3528
  D-Link DES-3528
D-Link DGS-3000-24TC
D-Link DGS-3120-24SC
D-Link DGS-3120-24TC
D-Link DGS-3200-10
D-Link DGS-3200-16
Для добавления поддержки иных моделей коммутаторов ''(в которых есть кабельный тестер)'' - свяжитесь с нами.


== Основные функции ==
== Основные функции ==
Строка 53: Строка 68:
# Перенесите туда файлы из архива модуля. Пример файла конфигурации "usm_cabletest.conf-example" переименуйте в "usm_cabletest.conf". В нём выполните настройку параметров. Перечень возможных параметров указан ниже.
# Перенесите туда файлы из архива модуля. Пример файла конфигурации "usm_cabletest.conf-example" переименуйте в "usm_cabletest.conf". В нём выполните настройку параметров. Перечень возможных параметров указан ниже.
# Проверьте наличие дополнительных perl-пакетов, которые требуются для запуска модуля. Их список приведён выше. Если у вас они не установлены - модуль выдаст ошибку при запуске и perl-пакет необходимо будет установить ''(с помощью CPAN или PPM)''.
# Проверьте наличие дополнительных perl-пакетов, которые требуются для запуска модуля. Их список приведён выше. Если у вас они не установлены - модуль выдаст ошибку при запуске и perl-пакет необходимо будет установить ''(с помощью CPAN или PPM)''.
# В разделе "[[Настройка - Модули]]" включите работу с модулем usm_peleng
# В разделе "[[Настройка - Модули]]" включите работу с модулем usm_cabletest
# В карточках [[Карточка коммутатора|коммутаторов]] следует включить работу с модулем usm_peleng
# Запустите модуль вручную
# Запустите модуль руками


  perl usm_peleng.pl
  perl usm_cabletest.pl


Он должен запуститься и отработать без ошибок.
Он должен запуститься и отработать без ошибок.
Строка 64: Строка 78:


'''Уточнения:'''
'''Уточнения:'''
# При добавлении нового коммутатора в систему, у него автоматически включается параметр - опрашивать устройство модулем usm_peleng
* При запуске модуль обрабатывает только одно устройство. Следовательно в системный cron следует записать вызов необходимого количества копий модуля ''(из расчёта количества коммутаторов подходящих моделей в системе и желаемой частоты опроса)''.
# При запуске модуль обрабатывает только одно устройство. Следовательно в системный cron следует записать вызов необходимого количества копий модуля ''(из расчёта количества коммутаторов в системе и желаемой частоты опроса)''.
* Модуль при запуске обрабатывает одно устройство. Следовательно за 15 минут модуль успеет обработать 15 устройств. Копий модуля можно запускать любое количество. Для того чтобы одновременный запуск большого количества копий модуля не приводил к увеличенной нагрузке на сами коммутаторы и сервер ''(ведь при запуске будут выполняться одни и те же однотипные задачи)'' предназначен параметр "$delay". Указав в нём цифру произвольное задержки например в "20" - можно добиться что модули будут запускаться с 1 по 20 секунду в произвольном порядке и нагрузка распределится.


При указании количества копий модуля следует исходить из следующего: в ERP "UserSide" по-умолчанию время активности в сети составляет 15 минут ''(т.е. это время, через которое абонент/дом/узел будет считаться неактивным)''. Следовательно, в течении 15 минут модули должны успевать обрабатывать все устройства. Модуль при запуске обрабатывает одно устройство. Следовательно за 15 минут модуль успеет обработать 15 устройств. Если устройств больше - то необходимо использовать вторую копию модуля, третью и т.д. Копий модуля можно запускать любое количество. Для того чтобы одновременный запуск большого количества копий модуля не приводил к увеличенной нагрузке на базу данных и процессор ''(ведь при запуске будут выполняться одни и те же однотипные задачи)'' предназначен параметр "$delay". Указав в нём цифру произвольное задержки например в "20" - можно добиться что модули будут запускаться с 1 по 20 секунду в произвольном порядке и нагрузка распределится.
'''ВАЖНО:''' Следует иметь в виду, что опрос кабельным тестером - это внутренняя диагностическая операция коммутатора. Не исключено, что коммутатор будет включать/выключать порт для получения корректных данных. Также не исключено, что частые опросы могут приводить к зависанию оборудования.


Также при большом количестве оборудования - нет смысла запускать опрос оборудования каждые 15 минут. Для распределения нагрузки можно настроить так работу, чтобы опрос каждого устройства происходил один раз в 1-4 часа. Этого в принципе достаточно.
Еще требуется взять во внимание, что данные кабельного тестера могут быть неточны. Погрешность может достигать нескольких метров.


Пример из cron запуска пяти копий модуля:
Пример из cron запуска пяти копий модуля:
  * * * * * perl /home/usm_peleng/usm_peleng.pl &> /dev/null
  * * * * *   root  perl /home/usm_cabletest/usm_cabletest.pl > /dev/null
  * * * * * perl /home/usm_peleng/usm_peleng.pl &> /dev/null
  * * * * *   root  perl /home/usm_cabletest/usm_cabletest.pl > /dev/null
  * * * * * perl /home/usm_peleng/usm_peleng.pl &> /dev/null
  * * * * *   root  perl /home/usm_cabletest/usm_cabletest.pl > /dev/null
  * * * * * perl /home/usm_peleng/usm_peleng.pl &> /dev/null
  * * * * *   root  perl /home/usm_cabletest/usm_cabletest.pl > /dev/null
  * * * * * perl /home/usm_peleng/usm_peleng.pl &> /dev/null
  * * * * *   root  perl /home/usm_cabletest/usm_cabletest.pl > /dev/null


В карточке устройства, на котором включен модуль usm_peleng можно по соответствующей ссылке посмотреть историю опроса этого устройства модулем и общую таблицу опроса устройств.
В карточке устройства, которое опросил модуль usm_cabletest можно по соответствующей ссылке посмотреть историю опроса этого устройства модулем и общую таблицу опроса устройств. Также в таблице портов в карточке этого устройства выводятся последние известные длины кабелей на опрошенных портах.


== Параметры ==
== Параметры ==


Настройка модуля осуществляется в файле '''usm_peleng.conf'''
Настройка модуля осуществляется в файле '''usm_cabletest.conf'''


  $usUrl - URL к ERP "UserSide"
  $usUrl - URL к ERP "UserSide"
Строка 90: Строка 104:
  $isSilence - Флаг - скрывать уведомления в консоль при работе модуля
  $isSilence - Флаг - скрывать уведомления в консоль при работе модуля
  $delay - Произвольная временная задержка от 0 до n-секунд после запуска модуля. Позволяет уменьшить нагрузку на сервер при одновременном использовании большого количества модулей
  $delay - Произвольная временная задержка от 0 до n-секунд после запуска модуля. Позволяет уменьшить нагрузку на сервер при одновременном использовании большого количества модулей
$citiesList - Перечень идентификаторов населенных пунктов ''(через запятую)'' IP-адреса которых опрашивать. 0 - объекты без адреса
$isArpPolling - Флаг - опрашивать ли ARP-таблицу с устройства


Модуль usm_peleng можно запускать с параметрами ''(указать конкретное устройство, которое необходимо опросить)''
Модуль usm_cabletest можно запускать с параметром ''(указать конкретное устройство, которое необходимо опросить)''


Пример:
Пример:


  perl usm_peleng s 998
  perl usm_cabletest 998


опросит коммутатор с ID 998
опросит коммутатор с ID 998
== Информация о работе ==
На странице "Настройка - Модули - usm_cabletest" можно по ссылке просмотреть отчёт об опросах модулем оборудования
[[Файл:Ct03.png|thumb|800px|center]]
Отдельно в карточке оборудования можно посмотреть данные по этому устройству
[[Файл:Ct02.png|thumb|800px|center]]
Последние данные выводятся в таблице портов
[[Файл:Ct04.png|thumb|800px|center]]
В настройке главной страницы - пользователь может включить вывод информации об изменении длины кабеля на главную страницу
[[Файл:Ct01.png|thumb|800px|center]]
[[Файл:Ct05.png|thumb|800px|center]]


== Если информация не снимается/модуль не работает ==
== Если информация не снимается/модуль не работает ==


1. Необходимо разграничить и понять - не работает модуль или не снимается информация. В карточке оборудования - следует проверить лог запусков модуля usm_peleng по устройству.
1. Необходимо разграничить и понять - не работает модуль или не снимается информация. На странице "Настройка - Модули - usm_cabletest - Информация о работе модуля" следует проверить логи запусков модуля usm_cabletest и результаты.


2. Следует убедиться, что верны community доступа, пароли и само устройство физически подключено и работает.
2. Следует убедиться, что верны community доступа, пароли и само устройство физически подключено и работает.


3. В самой ERP "UserSide" откройте карточку коммутатора и перейдите по ссылке "FDB-таблица"
3. В самой ERP "UserSide" откройте карточку коммутатора и перейдите по ссылке "Кабельный тестер"


4. Для теста - следует запустить модуля конкретно для определенного коммутатора. Например:
4. Для теста - следует запустить модуль конкретно для определенного коммутатора. Например:


  perl usm_peleng.pl s 998
  perl usm_cabletest.pl 998


запустит модуль для коммутатора ID: 998
запустит модуль для коммутатора ID: 998

Текущая версия от 11:24, 28 октября 2024

en | ru

USM_CABLETEST - это модуль для периодического опроса кабельным тестером длин кабелей для известных моделей коммутаторов, фиксация результатов и вывод уведомлений об изменении значений


Язык модуля: Perl

Текущая версия: см. на странице: Модули

Статус модуля: Платный

Необходимые модули Perl:

Time::Local
Socket
FindBin
URI
URI::Escape
LWP::UserAgent
JSON
Data::Dumper
Net::Telnet
Net::SNMP

Общую информацию для всех модулей см. на странице: Модули

Поддерживаемые модели устройств

D-Link DES-3010G 
D-Link DES-3026 
D-Link DES-3028
D-Link DES-3028G
D-Link DES-3052
D-Link DES-3200-10
D-Link DES-3200-10/C1
D-Link DES-3200-18
D-Link DES-3200-18/C1
D-Link DES-3200-26
D-Link DES-3200-26/C1
D-Link DES-3200-28 
D-Link DES-3200-28/C1 
D-Link DES-3200-28F 
D-Link DES-3200-28F/C1
D-Link DES-3200-52 
D-Link DES-3200-52/C1 
D-Link DES-3526
D-Link DES-3528
D-Link DGS-3000-24TC
D-Link DGS-3120-24SC
D-Link DGS-3120-24TC
D-Link DGS-3200-10
D-Link DGS-3200-16

Для добавления поддержки иных моделей коммутаторов (в которых есть кабельный тестер) - свяжитесь с нами.

Основные функции

  • периодическое получение информации о длине кабелей, включённых в медные порты коммутаторов либо об отсутствии там кабеля вовсе
  • фиксация полученных результатов
  • контроль фактов изменения длин кабелей и вывод соответствующих уведомлений

Метод получения данных - telnet или SNMP (в зависимости от модели коммутатора).

За один запуск модуль подключается к одному устройству и пытается выполнить для него опрос.

Установка и настройка модуля

  1. Выделите отдельный каталог. Абсолютно произвольный. Лучше его не размещать в каталоге, доступном через web. Взаимодействие с ERP "UserSide" осуществляется средствами API по http/s-протоколу. Таким образом модуль полностью автономен и может работать на любом отдельном компьютере в любой подсети. Также создайте отдельный каталог для логов модуля. Не забудьте указать для него права на запись.
  2. Перенесите туда файлы из архива модуля. Пример файла конфигурации "usm_cabletest.conf-example" переименуйте в "usm_cabletest.conf". В нём выполните настройку параметров. Перечень возможных параметров указан ниже.
  3. Проверьте наличие дополнительных perl-пакетов, которые требуются для запуска модуля. Их список приведён выше. Если у вас они не установлены - модуль выдаст ошибку при запуске и perl-пакет необходимо будет установить (с помощью CPAN или PPM).
  4. В разделе "Настройка - Модули" включите работу с модулем usm_cabletest
  5. Запустите модуль вручную
perl usm_cabletest.pl

Он должен запуститься и отработать без ошибок.

7. Впишите запуск модуля в системный cron, согласно рекомендациям ниже

Уточнения:

  • При запуске модуль обрабатывает только одно устройство. Следовательно в системный cron следует записать вызов необходимого количества копий модуля (из расчёта количества коммутаторов подходящих моделей в системе и желаемой частоты опроса).
  • Модуль при запуске обрабатывает одно устройство. Следовательно за 15 минут модуль успеет обработать 15 устройств. Копий модуля можно запускать любое количество. Для того чтобы одновременный запуск большого количества копий модуля не приводил к увеличенной нагрузке на сами коммутаторы и сервер (ведь при запуске будут выполняться одни и те же однотипные задачи) предназначен параметр "$delay". Указав в нём цифру произвольное задержки например в "20" - можно добиться что модули будут запускаться с 1 по 20 секунду в произвольном порядке и нагрузка распределится.

ВАЖНО: Следует иметь в виду, что опрос кабельным тестером - это внутренняя диагностическая операция коммутатора. Не исключено, что коммутатор будет включать/выключать порт для получения корректных данных. Также не исключено, что частые опросы могут приводить к зависанию оборудования.

Еще требуется взять во внимание, что данные кабельного тестера могут быть неточны. Погрешность может достигать нескольких метров.

Пример из cron запуска пяти копий модуля:

* * * * *    root   perl /home/usm_cabletest/usm_cabletest.pl > /dev/null
* * * * *    root   perl /home/usm_cabletest/usm_cabletest.pl > /dev/null
* * * * *    root   perl /home/usm_cabletest/usm_cabletest.pl > /dev/null
* * * * *    root   perl /home/usm_cabletest/usm_cabletest.pl > /dev/null
* * * * *    root   perl /home/usm_cabletest/usm_cabletest.pl > /dev/null

В карточке устройства, которое опросил модуль usm_cabletest можно по соответствующей ссылке посмотреть историю опроса этого устройства модулем и общую таблицу опроса устройств. Также в таблице портов в карточке этого устройства выводятся последние известные длины кабелей на опрошенных портах.

Параметры

Настройка модуля осуществляется в файле usm_cabletest.conf

$usUrl - URL к ERP "UserSide"
$usApiKey - API-ключ к ERP "UserSide"
$logsPath - Путь к каталогу для логов модуля

$isSilence - Флаг - скрывать уведомления в консоль при работе модуля
$delay - Произвольная временная задержка от 0 до n-секунд после запуска модуля. Позволяет уменьшить нагрузку на сервер при одновременном использовании большого количества модулей

Модуль usm_cabletest можно запускать с параметром (указать конкретное устройство, которое необходимо опросить)

Пример:

perl usm_cabletest 998

опросит коммутатор с ID 998

Информация о работе

На странице "Настройка - Модули - usm_cabletest" можно по ссылке просмотреть отчёт об опросах модулем оборудования

Отдельно в карточке оборудования можно посмотреть данные по этому устройству

Последние данные выводятся в таблице портов

В настройке главной страницы - пользователь может включить вывод информации об изменении длины кабеля на главную страницу

Если информация не снимается/модуль не работает

1. Необходимо разграничить и понять - не работает модуль или не снимается информация. На странице "Настройка - Модули - usm_cabletest - Информация о работе модуля" следует проверить логи запусков модуля usm_cabletest и результаты.

2. Следует убедиться, что верны community доступа, пароли и само устройство физически подключено и работает.

3. В самой ERP "UserSide" откройте карточку коммутатора и перейдите по ссылке "Кабельный тестер"

4. Для теста - следует запустить модуль конкретно для определенного коммутатора. Например:

perl usm_cabletest.pl 998

запустит модуль для коммутатора ID: 998

Проверяем нет ли ошибок в выводе информации.

В файлах логов анализируем полученную информацию.