Usm ping: различия между версиями
Admin (обсуждение | вклад) Нет описания правки |
Admin (обсуждение | вклад) Нет описания правки |
||
(не показано 10 промежуточных версий этого же участника) | |||
Строка 1: | Строка 1: | ||
'''ВНИМАНИЕ: Данный модуль является устаревшим и более не продаётся. Рекомендуется перейти на модуль [[usm_checker]]''' | |||
{{activ}} | {{activ}} | ||
'''USM_PING''' - ''это модуль для выявления активности абонентов/устройств в сети'' | |||
'''USM_PING''' - это модуль для выявления абонентов/устройств в сети | |||
'''Данный модуль является заменой устаревшему модулю [[us_ping]]''' | '''Данный модуль является заменой устаревшему модулю [[us_ping]]''' | ||
Строка 12: | Строка 13: | ||
'''Текущая версия:''' см. на странице: [[Модули]] | '''Текущая версия:''' см. на странице: [[Модули]] | ||
'''Статус модуля:''' [http://userside. | '''Статус модуля:''' [http://userside.eu/price.php Платный] | ||
Необходимые модули Perl: | Необходимые модули Perl: | ||
Time::Local | Time::Local | ||
threads | threads | ||
Thread::Queue | Thread::Queue | ||
Net::SSL | |||
Net::Ping | Net::Ping | ||
Socket | Socket | ||
FindBin | FindBin | ||
URI | |||
URI::Escape | |||
LWP::UserAgent | |||
JSON | |||
Data::Dumper | |||
Общую информацию для всех модулей см. на странице: [[Модули]] | |||
== Основные функции == | |||
* Модуль пингует все IP-адреса из базы данных ERP "UserSide" и обновляет дату активности откликнувшихся устройств/абонентов в системе | |||
* После выполнения пинга - идёт анализ arp-таблицы и обновляется активность у тех адресов, которые найдены в arp-таблице, но не откликнулись на пинг. Такие ситуации возможны когда у абонента включен firewall/брандмауэр | |||
== Установка и настройка модуля == | |||
# Выделите отдельный каталог. Абсолютно произвольный. Лучше его не размещать в каталоге, доступном через web. Взаимодействие с ERP "UserSide" осуществляется средствами API по http/s-протоколу. Таким образом модуль полностью автономен и может работать на любом отдельном компьютере в любой подсети. Также создайте отдельный каталог для логов модуля. Не забудьте указать для него права на запись. | |||
# Перенесите туда файлы из архива модуля. Пример файла конфигурации "usm_ping.conf-example" переименуйте в "usm_ping.conf". В нём выполните настройку параметров. Перечень возможных параметров указан ниже. | |||
# Проверьте наличие дополнительных perl-пакетов, которые требуются для запуска модуля. Их список приведён выше. Если у вас они не установлены - модуль выдаст ошибку при запуске и perl-пакет необходимо будет установить ''(с помощью CPAN или PPM)''. | |||
# В разделе "[[Настройка - Модули]]" включите работу с модулем usm_ping | |||
# Запустите модуль руками | |||
perl usm_ping.pl | |||
Он должен запуститься и отработать без ошибок. | |||
6. Впишите запуск модуля в системный cron, согласно рекомендациям ниже | |||
'''Рекомендации:''' | |||
Лучше всего себя зарекомендовала следующая схема: | Лучше всего себя зарекомендовала следующая схема: | ||
* Создайте два отдельных каталога и положите туда два модуля | * Создайте два отдельных каталога и положите туда два модуля usm_ping со своими файлами конфигурации. Также создайте два отдельных каталога для их логов | ||
Модуль №1 - в файле конфигурации укажите параметры | Модуль №1 - в файле конфигурации укажите параметры | ||
$ | $isOnlyDevice = 1; | ||
$ | $threadCount = 25; | ||
Пропишите в системный cron запуск этого модуля с частотой запуска - ежеминутно | Пропишите в системный cron запуск этого модуля с частотой запуска - ежеминутно | ||
Модуль №2 - в файле конфигурации укажите параметры | Модуль №2 - в файле конфигурации укажите параметры | ||
$ | $isOnlyDevice = 0; | ||
$ | $threadCount = 50; | ||
Пропишите в системный cron запуск этого модуля с частотой запуска - раз в 10 минут | Пропишите в системный cron запуск этого модуля с частотой запуска - раз в 10 минут | ||
* Таким образом первый модуль будет опрашивать ежеминутно только оборудование, которого во-первых немного ''(меньше чем абонентов)'', а во-вторых практически всё оборудование постоянно активно, в отличии от абонентов. Следовательно практически постоянно будет | * Таким образом первый модуль будет опрашивать ежеминутно только оборудование, которого, во-первых, немного ''(меньше чем абонентов)'', а во-вторых практически всё оборудование постоянно активно, в отличии от абонентов. Следовательно практически постоянно будет мониториться активность оборудования, а абоненты будут опрашиваться раз в 10 минут, что менее критично. | ||
== Параметры == | |||
Настройка модуля осуществляется в файле '''usm_ping.conf''' | |||
$usUrl - URL к ERP "UserSide" | |||
$usApiKey - [[API]]-ключ к ERP "UserSide" | |||
$logsPath - Путь к каталогу для логов модуля | |||
$isSilence - Флаг - скрывать уведомления в консоль при работе модуля | |||
$citiesList - Перечень идентификаторов населенных пунктов ''(через запятую)'' IP-адреса которых опрашивать. 0 - объекты без адреса | |||
$arpPath - Путь к ARP | |||
$pingType - Тип пинга | |||
$isOnlyDevice - Флаг - пинговать только устройства | |||
$threadCount - Количество потоков для пинга | |||
$ipRangeStart - Начальный IP-адрес для пинга | |||
$ipRangeFinish - Конечный IP-адрес для пинга | |||
$isChangeMac - Флаг - если модуль находит для IP-адреса MAC адрес, который неизвестен ERP "UserSide" ''(в базе другой MAC-адрес)'', то старый MAC затирается новым | |||
$isAlternativePing - Флаг - альтернативный пинг ''(с помощью командной строки сервера)'' | |||
$alternativePingPath - Параметры для альтернативного пинга в командной строке | |||
$allowNonRef - Флаг - включить режим JSON->allow_nonref ''(если возникают проблемы при работе по https-протоколу)'' | |||
== Замечания == | == Замечания == | ||
* Если ping опрашивает не все действительно рабочие устройства, то рекомендуется попробовать менять значение параметра $ | * Если ping опрашивает не все действительно рабочие устройства, то рекомендуется попробовать менять значение параметра $pingType ''(см. выше)'' | ||
* Также в зависимости от загрузки сервера и сетевой подсистемы возможны ситуации, когда операционная система "захлёбывается" от быстрого опроса множества устройств. Особенно, когда большое количество опрашиваемых устройств недоступно и не отвечает. В этой ситуации рекомендуется уменьшить значение параметра $ | * Также в зависимости от загрузки сервера и сетевой подсистемы возможны ситуации, когда операционная система "захлёбывается" от быстрого опроса множества устройств. Особенно, когда большое количество опрашиваемых устройств недоступно и не отвечает. В этой ситуации рекомендуется уменьшить значение параметра $threadCount |
Текущая версия от 13:44, 6 апреля 2019
ВНИМАНИЕ: Данный модуль является устаревшим и более не продаётся. Рекомендуется перейти на модуль usm_checker
Эта функция является одной из возможностью |
USM_PING - это модуль для выявления активности абонентов/устройств в сети
Данный модуль является заменой устаревшему модулю us_ping
Язык модуля: Perl
Текущая версия: см. на странице: Модули
Статус модуля: Платный
Необходимые модули Perl:
Time::Local threads Thread::Queue Net::SSL Net::Ping Socket FindBin URI URI::Escape LWP::UserAgent JSON Data::Dumper
Общую информацию для всех модулей см. на странице: Модули
Основные функции
- Модуль пингует все IP-адреса из базы данных ERP "UserSide" и обновляет дату активности откликнувшихся устройств/абонентов в системе
- После выполнения пинга - идёт анализ arp-таблицы и обновляется активность у тех адресов, которые найдены в arp-таблице, но не откликнулись на пинг. Такие ситуации возможны когда у абонента включен firewall/брандмауэр
Установка и настройка модуля
- Выделите отдельный каталог. Абсолютно произвольный. Лучше его не размещать в каталоге, доступном через web. Взаимодействие с ERP "UserSide" осуществляется средствами API по http/s-протоколу. Таким образом модуль полностью автономен и может работать на любом отдельном компьютере в любой подсети. Также создайте отдельный каталог для логов модуля. Не забудьте указать для него права на запись.
- Перенесите туда файлы из архива модуля. Пример файла конфигурации "usm_ping.conf-example" переименуйте в "usm_ping.conf". В нём выполните настройку параметров. Перечень возможных параметров указан ниже.
- Проверьте наличие дополнительных perl-пакетов, которые требуются для запуска модуля. Их список приведён выше. Если у вас они не установлены - модуль выдаст ошибку при запуске и perl-пакет необходимо будет установить (с помощью CPAN или PPM).
- В разделе "Настройка - Модули" включите работу с модулем usm_ping
- Запустите модуль руками
perl usm_ping.pl
Он должен запуститься и отработать без ошибок.
6. Впишите запуск модуля в системный cron, согласно рекомендациям ниже
Рекомендации:
Лучше всего себя зарекомендовала следующая схема:
- Создайте два отдельных каталога и положите туда два модуля usm_ping со своими файлами конфигурации. Также создайте два отдельных каталога для их логов
Модуль №1 - в файле конфигурации укажите параметры $isOnlyDevice = 1; $threadCount = 25; Пропишите в системный cron запуск этого модуля с частотой запуска - ежеминутно
Модуль №2 - в файле конфигурации укажите параметры $isOnlyDevice = 0; $threadCount = 50; Пропишите в системный cron запуск этого модуля с частотой запуска - раз в 10 минут
- Таким образом первый модуль будет опрашивать ежеминутно только оборудование, которого, во-первых, немного (меньше чем абонентов), а во-вторых практически всё оборудование постоянно активно, в отличии от абонентов. Следовательно практически постоянно будет мониториться активность оборудования, а абоненты будут опрашиваться раз в 10 минут, что менее критично.
Параметры
Настройка модуля осуществляется в файле usm_ping.conf
$usUrl - URL к ERP "UserSide" $usApiKey - API-ключ к ERP "UserSide" $logsPath - Путь к каталогу для логов модуля $isSilence - Флаг - скрывать уведомления в консоль при работе модуля $citiesList - Перечень идентификаторов населенных пунктов (через запятую) IP-адреса которых опрашивать. 0 - объекты без адреса $arpPath - Путь к ARP $pingType - Тип пинга $isOnlyDevice - Флаг - пинговать только устройства $threadCount - Количество потоков для пинга $ipRangeStart - Начальный IP-адрес для пинга $ipRangeFinish - Конечный IP-адрес для пинга $isChangeMac - Флаг - если модуль находит для IP-адреса MAC адрес, который неизвестен ERP "UserSide" (в базе другой MAC-адрес), то старый MAC затирается новым $isAlternativePing - Флаг - альтернативный пинг (с помощью командной строки сервера) $alternativePingPath - Параметры для альтернативного пинга в командной строке $allowNonRef - Флаг - включить режим JSON->allow_nonref (если возникают проблемы при работе по https-протоколу)
Замечания
- Если ping опрашивает не все действительно рабочие устройства, то рекомендуется попробовать менять значение параметра $pingType (см. выше)
- Также в зависимости от загрузки сервера и сетевой подсистемы возможны ситуации, когда операционная система "захлёбывается" от быстрого опроса множества устройств. Особенно, когда большое количество опрашиваемых устройств недоступно и не отвечает. В этой ситуации рекомендуется уменьшить значение параметра $threadCount