Us peleng: различия между версиями

Материал из WiKi - UserSide
Строка 57: Строка 57:
  $ps_delay - произвольная временная задержка от 0 до n-секунд после запуска пеленгатора. Позволяет уменьшить нагрузку на сервер с пеленгатором при одновременном использовании большого количества пеленгаторов.
  $ps_delay - произвольная временная задержка от 0 до n-секунд после запуска пеленгатора. Позволяет уменьшить нагрузку на сервер с пеленгатором при одновременном использовании большого количества пеленгаторов.
  $zsilence - не выводить уведомления о работе модуля в консоль
  $zsilence - не выводить уведомления о работе модуля в консоль
$z_arp_off - флаг - отключить опрос ARP-таблицы


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

Версия от 12:18, 9 июня 2014

Эта функция является одной из возможностью
обновления даты активности у объекта

US_PELENG - это модуль для опроса управляемого оборудования в части съема FDB-таблиц (MAC-адреса).

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

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

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

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

DBI
Time::Local
Net::SNMP
Net::Telnet()
Socket
FindBin

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

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

  • съем MAC-адресов с оборудования в разрезе портов
  • съем ARP-таблицы с оборудования (IP+MAC-адреса)
  • накопление истории MAC-адресов на портах оборудования с указанием даты первого и последнего появления адреса. Это даёт возможность искать несанкционированные подключения, флуд, кольца, вирусную активность
  • обновление даты активности в сети абонентам и оборудованию, чей MAC-адрес был найден
  • накопление базы неизвестных MAC-адресов
  • на устройствах, которые позволяют получать не только MAC-адреса, но и пару IP-MAC-адрес выполняется обучение MAC-адресов для этих IP-адресов (если функция включена)
  • на опрошенных устройствах, с которым установлена связь - обновляется дата активности устройства в сети

Метод съема данных - telnet или SNMP. Метод можно указать как глобально в "Настройке", так и индивидуально для каждого конкретного оборудования. Также следует обратить внимание, что есть возможность для SNMP выбрать протокол v.1 или v.2 для работы.

Если в настройке системы включен параметр "Не фиксировать MAC-адреса с UPLINK-портов", то MAC-адреса для таких портов обработаны не будут.

За один запуск модуль подключается к одному устройству и пытается получить информацию. Весь лог общения с устройством хранится в файле вида outputlog_ТИПУСТРОЙСТВА_КОДКОММУТАТОРА.txt

Например:

outputlog_1_120.txt - коммутатор №120

outputlog_2_122.txt - wi-fi-устройство №122

Код устройства можно посмотреть в адресе карточки оборудования. Это параметр CODE.

Параметры

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

$zuserver - адрес сервера с UserSide
$zubase - имя базы данных UserSide
$zuuser - имя пользователя для доступа к базе UserSide
$zupass - пароль для доступа к базе UserSide
$zucp - кодировка базы UserSide
$ps_logpath - путь к логам модуля
$ps_timeout - время ожидание ответа от устройства (секунды)
$ps_updlasttime - ставить ли у найденных абонентов (по MAC-адресу) свежее время активности в сети
$ps_delay - произвольная временная задержка от 0 до n-секунд после запуска пеленгатора. Позволяет уменьшить нагрузку на сервер с пеленгатором при одновременном использовании большого количества пеленгаторов.
$zsilence - не выводить уведомления о работе модуля в консоль
$z_arp_off - флаг - отключить опрос ARP-таблицы

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

Пример:

perl us_peleng s 998

опросит коммутатор с CODE: 998

Рекомендации по настройке модуля

  1. В разделе "Настройка - Модули" включите работу с us_peleng
  2. В карточках управляемых устройств следует включить работу с пеленгатором.
  3. В системный cron следует записать вызов необходимого количества пеленгаторов.

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

Пример из cron запуска пяти пеленгаторов:

* * * * * perl /home/userside_peleng/us_peleng.pl &> /dev/null
* * * * * perl /home/userside_peleng/us_peleng.pl &> /dev/null
* * * * * perl /home/userside_peleng/us_peleng.pl &> /dev/null
* * * * * perl /home/userside_peleng/us_peleng.pl &> /dev/null
* * * * * perl /home/userside_peleng/us_peleng.pl &> /dev/null

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

Если информация не снимается/пеленгатор не работает

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

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

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

perl us_peleng.pl s 998

запустит пеленгатор для коммутатора CODE: 998

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

4. Следует проверить файл outputlog_ТИПОБОРУДОВАНИЯ_КОДУСТРОЙСТВА.txt что выводит модуль. Возможно указан неверный пароль к устройству.

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