Usm peleng
Эта функция является одной из возможностью |
USM_PELENG - это модуль для опроса управляемого оборудования в части съема FDB-таблиц (MAC-адреса).
Данный модуль является заменой устаревшему модулю us_peleng
Язык модуля: Perl
Текущая версия: см. на странице: Модули
Статус модуля: Платный
Необходимые модули Perl:
Time::Local Socket FindBin URI URI::Escape LWP::UserAgent JSON Data::Dumper Net::Telnet() Net::SNMP
Общую информацию для всех модулей см. на странице: Модули
Основные функции
- съем MAC-адресов с оборудования в разрезе VLAN и портов
- съем ARP-таблицы с оборудования (IP+MAC-адреса)
- накопление истории MAC-адресов на портах оборудования с указанием даты первого и последнего появления адреса. Это даёт возможность искать несанкционированные подключения, флуд, кольца, вирусную активность
- обновление даты активности в сети абонентам и оборудованию, чей MAC-адрес был найден
- накопление базы неизвестных MAC-адресов
- на устройствах, которые позволяют получать не только MAC-адреса, но и пару IP-MAC-адрес выполняется обучение MAC-адресов для этих IP-адресов (если функция включена)
- на опрошенных устройствах, с которым установлена связь - обновляется дата активности устройства в сети
Метод съема данных - telnet или SNMP. Метод можно указать как глобально в "Настройке", так и индивидуально для каждого конкретного оборудования. Также следует обратить внимание, что есть возможность для SNMP выбрать протокол v.1 или v.2 для работы.
Если в настройке системы включен параметр "Не фиксировать MAC-адреса с UPLINK-портов", то MAC-адреса для таких портов обработаны не будут.
За один запуск модуль подключается к одному устройству и пытается получить информацию
Установка и настройка модуля
- Выделите отдельный каталог. Абсолютно произвольный. Лучше его не размещать в каталоге, доступном через web. Взаимодействие с ERP "UserSide" осуществляется средствами API по http/s-протоколу. Таким образом модуль полностью автономен и может работать на любом отдельном компьютере в любой подсети. Также создайте отдельный каталог для логов модуля. Не забудьте указать для него права на запись.
- Перенесите туда файлы их архива модуля. Пример файла конфигурации "usm_peleng.conf-example" переименуйте в "usm_peleng.conf". В нём выполните настройку параметров. Перечень возможных параметров указан ниже.
- Проверьте наличие дополнительных perl-пакетов, которые требуются для запуска модуля. Их список приведён выше. Если у вас они не установлены - модуль выдаст ошибку при запуске и perl-пакет необходимо будет установить (с помощью CPAN или PPM).
- В разделе "Настройка - Модули" включите работу с модулем usm_peleng
- В карточках коммутаторов следует включить работу с модулем usm_peleng
- Запустите модуль руками
perl usm_peleng.pl
Он должен запуститься и отработать без ошибок.
Уточнения:
- При добавлении нового коммутатора в систему, у него автоматически включается параметр - опрашивать устройство модулем usm_peleng
- При запуске модуль обрабатывает только одно устройство. Следовательно в системный cron следует записать вызов необходимого количества пеленгаторов (из расчёта количества коммутаторов в системе и желаемой частоты опроса).
При указании количества пеленгатора следует исходить из следующего: в ERP "UserSide" по-умолчанию время активности в сети составляет 15 минут (т.е. это время, через которое абонент/дом/узел будет считаться неактивным). Следовательно, в течении 15 минут пеленгаторы должны успевать обрабатывать все устройства. Пеленгатор при запуске обрабатывает одно устройство. Следовательно за 15 минут пеленгатор успеет обработать 15 устройств. Если устройств больше - то необходимо использовать второй пеленгатор, третий и т.д. Пеленгаторов можно назначать любое количество. Для того чтобы одновременный запуск большого количества копий пеленгатора не приводил к увеличенной нагрузке на базу данных и процессор (ведь при запуске будут выполняться одни и те же однотипные задачи) предназначен параметр "$delay". Указав в нём цифру произвольное задержки например в "20" - можно добиться что пеленгаторы будут запускаться с 1 по 20 секунду в произвольном порядке и нагрузка распределится.
Также при большом количестве оборудования - нет смысла запускать опрос оборудования каждые 15 минут. Для распределения нагрузки можно настроить так работу, чтобы опрос каждого устройства происходил один раз в 1-4 часа. Этого в принципе достаточно.
Пример из cron запуска пяти пеленгаторов:
* * * * * perl /home/usm_peleng/usm_peleng.pl &> /dev/null * * * * * perl /home/usm_peleng/usm_peleng.pl &> /dev/null * * * * * perl /home/usm_peleng/usm_peleng.pl &> /dev/null * * * * * perl /home/usm_peleng/usm_peleng.pl &> /dev/null * * * * * perl /home/usm_peleng/usm_peleng.pl &> /dev/null
В карточке устройства, на котором включен модуль usm_peleng можно по соответствующей ссылке посмотреть историю опроса этого устройства пеленгатором и общую таблицу распределения устройств по пеленгаторам.
Параметры
Настройка модуля осуществляется в файле us_config.tmp
$zuserver - адрес сервера с UserSide $zubase - имя базы данных UserSide $zuuser - имя пользователя для доступа к базе UserSide $zupass - пароль для доступа к базе UserSide $zucp - кодировка базы UserSide $ps_logpath - путь к логам модуля $ps_timeout - время ожидание ответа от устройства (секунды) $ps_updlasttime - ставить ли у найденных абонентов (по MAC-адресу) свежее время активности в сети $ps_dont_upd_act_equip - запретить обновление активности у оборудования (по MAC-адресу) $ps_delay - произвольная временная задержка от 0 до n-секунд после запуска пеленгатора. Позволяет уменьшить нагрузку на сервер с пеленгатором при одновременном использовании большого количества пеленгаторов. $zsilence - не выводить уведомления о работе модуля в консоль $z_arp_off - флаг - отключить опрос ARP-таблицы $zcity_list - перечень населенных пунктов (tbl_adr_city.CODE) IP-адреса которых опрашивать (через запятую). 0 - объекты без адреса
Модуль us_peleng можно запускать с параметрами (указать конкретное устройство, которое необходимо опросить)
Пример:
perl us_peleng s 998
опросит коммутатор с CODE: 998
Если информация не снимается/пеленгатор не работает
1. Необходимо разграничить и понять - не работает модуль или не снимается информация. В карточке оборудования - следует проверить лог запусков пеленгатора по устройству.
2. Следует запустить модуль вручную в консоли и проверить нет ли ошибок в выводе информации.
3. Для теста - следует запустить пеленгатор конкретно для определенного коммутатора. Например:
perl us_peleng.pl s 998
запустит пеленгатор для коммутатора CODE: 998
В файлах логов анализируем полученную информацию.
4. Следует проверить файл outputlog_ТИПОБОРУДОВАНИЯ_КОДУСТРОЙСТВА.txt что выводит модуль. Возможно указан неверный пароль к устройству.
5. Также следует убедиться, что верны community доступа, пароли и само устройство физически подключено и работает.