Usm peleng: различия между версиями
Admin (обсуждение | вклад) |
Нет описания правки |
||
(не показано 26 промежуточных версий 3 участников) | |||
Строка 1: | Строка 1: | ||
[[Usm_peleng_EN|en]] | [[Usm_peleng|ru]] | |||
{{activ}} | {{activ}} | ||
'''USM_PELENG''' ''- это модуль для опроса управляемого оборудования в части съема FDB-таблиц (MAC-адреса).'' | '''USM_PELENG''' ''- это модуль для опроса управляемого оборудования в части съема FDB-таблиц (MAC-адреса).'' | ||
'''Данный модуль является | '''Данный модуль является заменой устаревшему модулю [[us_peleng]]''' | ||
Строка 19: | Строка 21: | ||
URI::Escape | URI::Escape | ||
LWP::UserAgent | LWP::UserAgent | ||
LWP::Protocol::https | |||
JSON | JSON | ||
Data::Dumper | Data::Dumper | ||
Net::Telnet | Net::Telnet | ||
Net::SNMP | Net::SNMP | ||
Строка 28: | Строка 31: | ||
== Основные функции == | == Основные функции == | ||
* съем MAC-адресов с оборудования в разрезе портов | * съем MAC-адресов с оборудования в разрезе VLAN и портов | ||
* съем ARP-таблицы с оборудования (IP+MAC-адреса) | * съем ARP-таблицы с оборудования ''(IP+MAC-адреса)'' | ||
* накопление истории MAC-адресов на портах оборудования с указанием даты первого и последнего появления адреса. Это даёт возможность искать несанкционированные подключения, флуд, кольца, вирусную активность | * накопление истории MAC-адресов на портах оборудования с указанием даты первого и последнего появления адреса. Это даёт возможность искать несанкционированные подключения, флуд, кольца, вирусную активность | ||
* обновление даты активности в сети абонентам и оборудованию, чей MAC-адрес был найден | * обновление даты активности в сети абонентам и оборудованию, чей MAC-адрес был найден | ||
* накопление базы [[Неизвестные MAC-адреса|неизвестных MAC-адресов]] | * накопление базы [[Неизвестные MAC-адреса|неизвестных MAC-адресов]] | ||
* на устройствах, которые позволяют получать не только MAC-адреса, но и пару IP-MAC-адрес выполняется [[Автопривязка абонентов к портам|обучение MAC-адресов]] для этих IP-адресов (если функция включена) | * на устройствах, которые позволяют получать не только MAC-адреса, но и пару IP-MAC-адрес выполняется [[Автопривязка абонентов к портам|обучение MAC-адресов]] для этих IP-адресов ''(если функция включена)'' | ||
* на опрошенных устройствах, с которым установлена связь - обновляется дата активности устройства в сети | * на опрошенных устройствах, с которым установлена связь - обновляется дата активности устройства в сети | ||
Строка 40: | Строка 43: | ||
Если в настройке системы включен параметр "Не фиксировать MAC-адреса с UPLINK-портов", то MAC-адреса для таких портов обработаны не будут. | Если в настройке системы включен параметр "Не фиксировать 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 | |||
Он должен запуститься и отработать без ошибок. | |||
7. Впишите запуск модуля в системный cron, согласно рекомендациям ниже | |||
'' | '''Уточнения:''' | ||
# При добавлении нового коммутатора в систему, у него автоматически включается параметр - опрашивать устройство модулем usm_peleng | |||
# При запуске модуль обрабатывает только одно устройство | |||
Модуль usm_peleng не предназначен для определения доступности абонентов по наличию их MAC адресов, так как операция чтения MAC адресов с последующей обработкой считанных данных слишком избыточна для этого. Используйте модуль [[usm_checker]] для определения доступности узлов в сети. | |||
Для большинства устройств (в частности коммутаторов) достаточно считывать и обрабатывать данные по MAC-адресам на оборудовании не чаще раза в 6..12 часов. Мы рекомендуем придерживаться этих значений для рассчета количества одновременно запускаемых модулей в системном планировщике cron. | |||
Запускайте модули как можно чаще с как можно меньшим количеством одновременных запусков. Стандартной рекомендацией будет запуск модуля раз в минуту. Количество копий, которое должно быть запущено одновременно, вычисляется из рассчета количества устройств с активным параметром "Опрашивать устройство модулем usm_peleng". Это значение можно вычислить по формуле: | |||
Количество копий = количество устройств * период запуска в минутах / период цикла опроса для устройства в минутах | |||
Например, для 1500 устройств, которые должны опрашиватся раз в 9 часов, для ежеминутного запуска понадобится 1500 * 1 / (9 * 60) = 2.8, т.е. 3 копии usm_peleng. | |||
Пример из cron запуска | Пример из cron запуска трех копий модуля: | ||
* * * * * perl / | * * * * * perl /opt/userside/usm_peleng/usm_peleng.pl &> /dev/null | ||
* * * * * perl / | * * * * * perl /opt/userside/usm_peleng/usm_peleng.pl &> /dev/null | ||
* * * * * perl /opt/userside/usm_peleng/usm_peleng.pl &> /dev/null | |||
* * * * * perl / | |||
В карточке устройства, на котором включен модуль | В карточке устройства, на котором включен модуль usm_peleng можно по соответствующей ссылке посмотреть историю опроса этого устройства модулем и общую таблицу опроса устройств. | ||
== Параметры == | == Параметры == | ||
Настройка модуля осуществляется в файле ''' | Настройка модуля осуществляется в файле '''usm_peleng.conf''' | ||
$ | $usUrl - URL к ERP "UserSide" | ||
$ | $usApiKey - [[UserSide_API_Key|API]]-ключ к ERP "UserSide" | ||
$logsPath - Путь к каталогу для логов модуля | |||
$ | |||
$isSilence - Флаг - скрывать уведомления в консоль при работе модуля | |||
$delay - Произвольная временная задержка от 0 до n-секунд после запуска модуля. Позволяет уменьшить нагрузку на сервер при одновременном использовании большого количества модулей | |||
$citiesList - Перечень идентификаторов населенных пунктов ''(через запятую)'' IP-адреса которых опрашивать. 0 - объекты без адреса | |||
$ | $isArpPolling - Флаг - опрашивать ли ARP-таблицу с устройства | ||
$ | |||
$ | |||
Модуль | Модуль usm_peleng можно запускать с параметрами ''(указать конкретное устройство, которое необходимо опросить)'' | ||
Пример: | Пример: | ||
perl | perl usm_peleng s 998 | ||
опросит коммутатор с | опросит коммутатор с ID 998 | ||
== | == Если информация не снимается/модуль не работает == | ||
1. Необходимо разграничить и понять - не работает модуль или не снимается информация. В карточке оборудования - следует проверить лог запусков модуля usm_peleng по устройству. | |||
2. Следует убедиться, что верны community доступа, пароли и само устройство физически подключено и работает. | |||
3. В самой ERP "UserSide" откройте карточку коммутатора и перейдите по ссылке "FDB-таблица" | |||
4. Для теста - следует запустить модуль конкретно для определенного коммутатора. Например: | |||
perl | perl usm_peleng.pl s 998 | ||
запустит | запустит модуль для коммутатора ID: 998 | ||
Проверяем нет ли ошибок в выводе информации. | |||
В файлах логов анализируем полученную информацию. | В файлах логов анализируем полученную информацию. | ||
== Запуск в Docker-окружении == | |||
Если Вы используете USERSIDE в Docker-окружении, то вам наверняка будет интересно запускать в отдельных Docker-контейнерах и внешние модули usm. | |||
Мы предоставляем docker-окружение для запуска модуля usm_peleng (окружение не содержит файлов модуля - их необходимо загрузить из личного кабинета самостоятельно). | |||
Загрузить docker-окружение можно по ссылке: https://github.com/userside/usm_peleng-docker-env/releases |
Текущая версия от 13:57, 28 ноября 2023
Эта функция является одной из возможностью |
USM_PELENG - это модуль для опроса управляемого оборудования в части съема FDB-таблиц (MAC-адреса).
Данный модуль является заменой устаревшему модулю us_peleng
Язык модуля: Perl
Текущая версия: см. на странице: Модули
Статус модуля: Платный
Необходимые модули Perl:
Time::Local Socket FindBin URI URI::Escape LWP::UserAgent LWP::Protocol::https 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
Он должен запуститься и отработать без ошибок.
7. Впишите запуск модуля в системный cron, согласно рекомендациям ниже
Уточнения:
- При добавлении нового коммутатора в систему, у него автоматически включается параметр - опрашивать устройство модулем usm_peleng
- При запуске модуль обрабатывает только одно устройство
Модуль usm_peleng не предназначен для определения доступности абонентов по наличию их MAC адресов, так как операция чтения MAC адресов с последующей обработкой считанных данных слишком избыточна для этого. Используйте модуль usm_checker для определения доступности узлов в сети.
Для большинства устройств (в частности коммутаторов) достаточно считывать и обрабатывать данные по MAC-адресам на оборудовании не чаще раза в 6..12 часов. Мы рекомендуем придерживаться этих значений для рассчета количества одновременно запускаемых модулей в системном планировщике cron.
Запускайте модули как можно чаще с как можно меньшим количеством одновременных запусков. Стандартной рекомендацией будет запуск модуля раз в минуту. Количество копий, которое должно быть запущено одновременно, вычисляется из рассчета количества устройств с активным параметром "Опрашивать устройство модулем usm_peleng". Это значение можно вычислить по формуле:
Количество копий = количество устройств * период запуска в минутах / период цикла опроса для устройства в минутах
Например, для 1500 устройств, которые должны опрашиватся раз в 9 часов, для ежеминутного запуска понадобится 1500 * 1 / (9 * 60) = 2.8, т.е. 3 копии usm_peleng.
Пример из cron запуска трех копий модуля:
* * * * * perl /opt/userside/usm_peleng/usm_peleng.pl &> /dev/null * * * * * perl /opt/userside/usm_peleng/usm_peleng.pl &> /dev/null * * * * * perl /opt/userside/usm_peleng/usm_peleng.pl &> /dev/null
В карточке устройства, на котором включен модуль usm_peleng можно по соответствующей ссылке посмотреть историю опроса этого устройства модулем и общую таблицу опроса устройств.
Параметры
Настройка модуля осуществляется в файле 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
Проверяем нет ли ошибок в выводе информации.
В файлах логов анализируем полученную информацию.
Запуск в Docker-окружении
Если Вы используете USERSIDE в Docker-окружении, то вам наверняка будет интересно запускать в отдельных Docker-контейнерах и внешние модули usm.
Мы предоставляем docker-окружение для запуска модуля usm_peleng (окружение не содержит файлов модуля - их необходимо загрузить из личного кабинета самостоятельно).
Загрузить docker-окружение можно по ссылке: https://github.com/userside/usm_peleng-docker-env/releases