Usm cabletest

Материал из WiKi - UserSide

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_peleng.conf

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

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

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

Пример:

perl usm_peleng s 998

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

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

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

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

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

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

perl usm_peleng.pl s 998

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

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

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