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

Материал из WiKi - UserSide
Нет описания правки
Строка 17: Строка 17:
  JSON
  JSON
  Data::Dumper
  Data::Dumper
  Net::Telnet()
  Net::Telnet
  Net::SNMP
  Net::SNMP



Версия от 21:28, 2 января 2017

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-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-52 
D-Link DES-3200-52/C1 
D-Link DES-3526
D-Link DES-3528

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

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

Метод получения данных - 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 запуска пяти копий модуля:

* * * * * perl /home/usm_cabletest/usm_cabletest.pl &> /dev/null
* * * * * perl /home/usm_cabletest/usm_cabletest.pl &> /dev/null
* * * * * perl /home/usm_cabletest/usm_cabletest.pl &> /dev/null
* * * * * perl /home/usm_cabletest/usm_cabletest.pl &> /dev/null
* * * * * 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

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

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

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

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

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

perl usm_cabletest.pl 998

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

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

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