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

Материал из WiKi - UserSide
(Новая страница: «{{activ}} '''USM_RADIO''' ''- это модуль для опроса управляемого оборудования в части съема FDB-таблиц…»)
 
Нет описания правки
 
(не показано 8 промежуточных версий 1 участника)
Строка 1: Строка 1:
{{activ}}
[[Usm_radio_EN|en]] | [[Usm_radio|ru]]
 
'''USM_RADIO''' ''- это модуль, который осуществляет периодический опрос радиооборудования, определяет подключенных радиоабонентов и уровни сигналов к ним. В случае выхода уровня сигналов из допустимых значений на [[Главная страница|главную страницу]] системы будет выведено уведомление.''


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


'''Данный модуль является заменой устаревшему модулю [[us_radio]]'''
'''Данный модуль является заменой устаревшему модулю [[us_radio]]'''
'''ВАЖНО:'''
На данный момент модуль поддерживается радиооборудование производителей
* MikroTik
* UBNT
* ELTEX
* Cambium
[[Файл:Screenshot_radio.PNG|thumb|800px|center]]
Если уровень сигнала находится в пределах -79...-73, то уведомления будут выведены желтым цветом
Если уровень сигнала менее -80 или более -40, то уведомления будут выведены красным цветом
При запуске модуль опрашивает все подходящие радиоустройства.




Строка 14: Строка 32:
Необходимые модули Perl:
Необходимые модули Perl:
  Time::Local
  Time::Local
Socket
  FindBin
  FindBin
  URI
  URI
Строка 21: Строка 38:
  JSON
  JSON
  Data::Dumper
  Data::Dumper
Net::Telnet
Net::SNMP


Общую информацию для всех модулей см. на странице: [[Модули]]
Общую информацию для всех модулей см. на странице: [[Модули]]
== Основные функции ==
* съем MAC-адресов с оборудования в разрезе VLAN и портов
* съем ARP-таблицы с оборудования ''(IP+MAC-адреса)''
* накопление истории 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-протоколу. Таким образом модуль полностью автономен и может работать на любом отдельном компьютере в любой подсети. Также создайте отдельный каталог для логов модуля. Не забудьте указать для него права на запись.
# Выделите отдельный каталог. Абсолютно произвольный. Лучше его не размещать в каталоге, доступном через web. Взаимодействие с ERP "UserSide" осуществляется средствами API по http/s-протоколу. Таким образом модуль полностью автономен и может работать на любом отдельном компьютере в любой подсети. Также создайте отдельный каталог для логов модуля. Не забудьте указать для него права на запись.
# Перенесите туда файлы из архива модуля. Пример файла конфигурации "usm_peleng.conf-example" переименуйте в "usm_peleng.conf". В нём выполните настройку параметров. Перечень возможных параметров указан ниже.
# Перенесите туда файлы из архива модуля. Пример файла конфигурации "usm_radio.conf-example" переименуйте в "usm_radio.conf". В нём выполните настройку параметров. Перечень возможных параметров указан ниже.
# Проверьте наличие дополнительных perl-пакетов, которые требуются для запуска модуля. Их список приведён выше. Если у вас они не установлены - модуль выдаст ошибку при запуске и perl-пакет необходимо будет установить ''(с помощью CPAN или PPM)''.
# Проверьте наличие дополнительных perl-пакетов, которые требуются для запуска модуля. Их список приведён выше. Если у вас они не установлены - модуль выдаст ошибку при запуске и perl-пакет необходимо будет установить ''(с помощью CPAN или PPM)''.
# В разделе "[[Настройка - Модули]]" включите работу с модулем usm_peleng
# В разделе "[[Настройка - Модули]]" включите работу с модулем usm_radio
# В карточках [[Карточка коммутатора|коммутаторов]] следует включить работу с модулем usm_peleng
# Запустите модуль руками
# Запустите модуль руками


  perl usm_peleng.pl
  perl usm_radio.pl


Он должен запуститься и отработать без ошибок.
Он должен запуститься и отработать без ошибок.


7. Впишите запуск модуля в системный cron, согласно рекомендациям ниже
7. Впишите запуск модуля в системный cron раз в 30-60 минут
 
'''Уточнения:'''
# При добавлении нового коммутатора в систему, у него автоматически включается параметр - опрашивать устройство модулем 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 можно по соответствующей ссылке посмотреть историю опроса этого устройства модулем и общую таблицу опроса устройств.


== Параметры ==
== Параметры ==


Настройка модуля осуществляется в файле '''usm_peleng.conf'''
Настройка модуля осуществляется в файле '''usm_radio.conf'''


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


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


Пример:
Пример:


  perl usm_peleng s 998
  perl usm_radio 998


опросит коммутатор с ID 998
опросит радиооборудование с ID 998


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


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


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


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


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


  perl usm_peleng.pl s 998
  perl usm_radio.pl s 998


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


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


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

Текущая версия от 16:42, 1 ноября 2023

en | ru

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


Данный модуль является заменой устаревшему модулю us_radio


ВАЖНО: На данный момент модуль поддерживается радиооборудование производителей

  • MikroTik
  • UBNT
  • ELTEX
  • Cambium


Если уровень сигнала находится в пределах -79...-73, то уведомления будут выведены желтым цветом

Если уровень сигнала менее -80 или более -40, то уведомления будут выведены красным цветом

При запуске модуль опрашивает все подходящие радиоустройства.


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

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

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

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

Time::Local
FindBin
URI
URI::Escape
LWP::UserAgent
JSON
Data::Dumper

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

Установка и настройка модуля

  1. Выделите отдельный каталог. Абсолютно произвольный. Лучше его не размещать в каталоге, доступном через web. Взаимодействие с ERP "UserSide" осуществляется средствами API по http/s-протоколу. Таким образом модуль полностью автономен и может работать на любом отдельном компьютере в любой подсети. Также создайте отдельный каталог для логов модуля. Не забудьте указать для него права на запись.
  2. Перенесите туда файлы из архива модуля. Пример файла конфигурации "usm_radio.conf-example" переименуйте в "usm_radio.conf". В нём выполните настройку параметров. Перечень возможных параметров указан ниже.
  3. Проверьте наличие дополнительных perl-пакетов, которые требуются для запуска модуля. Их список приведён выше. Если у вас они не установлены - модуль выдаст ошибку при запуске и perl-пакет необходимо будет установить (с помощью CPAN или PPM).
  4. В разделе "Настройка - Модули" включите работу с модулем usm_radio
  5. Запустите модуль руками
perl usm_radio.pl

Он должен запуститься и отработать без ошибок.

7. Впишите запуск модуля в системный cron раз в 30-60 минут

Параметры

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

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

$isSilence - Флаг - скрывать уведомления в консоль при работе модуля

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

Пример:

perl usm_radio 998

опросит радиооборудование с ID 998

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

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

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

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

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

perl usm_radio.pl s 998

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

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

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