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

Материал из WiKi - UserSide
Нет описания правки
 
(не показано 11 промежуточных версий этого же участника)
Строка 1: Строка 1:
{{activ}}
'''ВНИМАНИЕ: Данный модуль является устаревшим и более не продаётся. Рекомендуется перейти на модуль [[usm_checker]]'''
 


'''US_PING''' - это модуль для выявления абонентов/устройств в сети. Модуль пингует все IP-адреса из базы данных САП "UserSide" и обновляет дату активности откликнувшихся устройств/абонентов в системе.  
'''US_PING''' - это модуль для выявления абонентов/устройств в сети. Модуль пингует все IP-адреса из базы данных САП "UserSide" и обновляет дату активности откликнувшихся устройств/абонентов в системе.  
Строка 19: Строка 20:
  FindBin
  FindBin


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


Настройка модуля осуществляется в файле '''us_config.tmp'''
Настройка модуля осуществляется в файле '''us_config.tmp'''
Строка 31: Строка 32:
  $zupass - пароль для доступа к базе UserSide
  $zupass - пароль для доступа к базе UserSide
  $zucp - кодировка базы UserSide
  $zucp - кодировка базы UserSide
$zusqlport - порт подключения к базе данных ''(по-умолчанию 3306)''
  $ps_logpath - путь к логам модуля
  $ps_logpath - путь к логам модуля
$zsilence - не выводить уведомления о работе модуля в консоль
  $ps_binpath - путь к ARP
  $ps_binpath - путь к ARP
  $ps_pingtype - тип пинга ''(по-умолчанию "tcp". Можно указать "icmp")''
  $ps_pingtype - тип пинга (по-умолчанию "tcp". Можно указать "icmp" или "udp")
  $ps_onlydevice - флаг - пинговать только устройства ''(1/0)''
  $ps_onlydevice - флаг - пинговать только устройства ''(1/0)''
  $ps_threadcount - к-во потоков для пинга ''(по-умолчанию 75)''
  $ps_threadcount - к-во потоков для пинга ''(по-умолчанию 25)''
$zaddip - если модуль находит MAC-адрес, который известен САП "UserSide", но IP-адрес неизвестен ''(MAC принадлежит другому IP)'' - то для владельца MAC-адреса добавляется этот новый найденный IP-адрес
  $zping_alt - альтернативный пинг ''(с помощью командной строки сервера)''
  $zping_alt - альтернативный пинг ''(с помощью командной строки сервера)''
  $zping_alt_str - параметры для альтернативного пинга в командной строке
  $zping_alt_str - параметры для альтернативного пинга в командной строке
  $zchangemac- если модуль находит для IP-адреса MAC адрес, который неизвестен САП "UserSide" ''(в базе другой MAC-адрес)'', то старый MAC затирается новым
  $zchangemac - если модуль находит для IP-адреса MAC адрес, который неизвестен САП "UserSide" ''(в базе другой MAC-адрес)'', то старый MAC затирается новым
$zdiapazon_start - начальный IP-адрес для пинга ''(например: 192.168.0.1)''
$zdiapazon_finish - конечный IP-адрес для пинга ''(например: 192.168.255.255)''
$zcity_list - перечень населенных пунктов ''(tbl_adr_city.CODE)'' IP-адреса которых опрашивать ''(через запятую)''. 0 - объекты без адреса
 
== Рекомендации ==
 
Лучше всего себя зарекомендовала следующая схема:
* Создайте два отдельных каталога и положите туда два модуля us_ping со своими файлами конфигурации us_config.tmp. Также создайте два отдельных каталога для их логов
 
Модуль №1 - в файле конфигурации укажите параметры
$ps_onlydevice = 1;
$ps_threadcount = 25;
Пропишите в системный cron запуск этого модуля с частотой запуска - ежеминутно
 
Модуль №2 - в файле конфигурации укажите параметры
$ps_onlydevice = 0;
$ps_threadcount = 50;
Пропишите в системный cron запуск этого модуля с частотой запуска - раз в 10 минут
 
* Таким образом первый модуль будет опрашивать ежеминутно только оборудование, которого во-первых немного ''(меньше чем абонентов)'', а во-вторых практически всё оборудование постоянно активно, в отличии от абонентов. Следовательно практически постоянно будет мониторится активность оборудования, а абоненты будут опрашиваться раз в 10 минут, что менее критично.
 
== Замечания ==
 
* Если ping опрашивает не все действительно рабочие устройства, то рекомендуется попробовать менять значение параметра $ps_pingtype ''(см. выше)''
* Также в зависимости от загрузки сервера и сетевой подсистемы возможны ситуации, когда операционная система "захлёбывается" от быстрого опроса множества устройств. Особенно, когда большое количество опрашиваемых устройств недоступно и не отвечает. В этой ситуации рекомендуется уменьшить значение параметра $ps_threadcount

Текущая версия от 13:53, 6 апреля 2019

ВНИМАНИЕ: Данный модуль является устаревшим и более не продаётся. Рекомендуется перейти на модуль usm_checker


US_PING - это модуль для выявления абонентов/устройств в сети. Модуль пингует все IP-адреса из базы данных САП "UserSide" и обновляет дату активности откликнувшихся устройств/абонентов в системе. Одновременно с этим - после выполнения пингов - идёт анализ arp-таблицы и обновляется активность у тех адресов, которые найдены в arp-таблице, но не откликнулись на пинг. Такие ситуации возможны когда у абонента включен firewall/брандмауэр.

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

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

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

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

DBI
Time::Local
threads
Thread::Queue
Net::Ping
Socket
FindBin

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

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

Параметры

$zuserver - адрес сервера с UserSide
$zusqlport - номер порта MySQL с базой данных UserSide
$zubase - имя базы данных UserSide
$zuuser - имя пользователя для доступа к базе UserSide
$zupass - пароль для доступа к базе UserSide
$zucp - кодировка базы UserSide
$zusqlport - порт подключения к базе данных (по-умолчанию 3306)
$ps_logpath - путь к логам модуля
$zsilence - не выводить уведомления о работе модуля в консоль
$ps_binpath - путь к ARP
$ps_pingtype - тип пинга (по-умолчанию "tcp". Можно указать "icmp" или "udp")
$ps_onlydevice - флаг - пинговать только устройства (1/0)
$ps_threadcount - к-во потоков для пинга (по-умолчанию 25)
$zping_alt - альтернативный пинг (с помощью командной строки сервера)
$zping_alt_str - параметры для альтернативного пинга в командной строке
$zchangemac - если модуль находит для IP-адреса MAC адрес, который неизвестен САП "UserSide" (в базе другой MAC-адрес), то старый MAC затирается новым
$zdiapazon_start - начальный IP-адрес для пинга (например: 192.168.0.1)
$zdiapazon_finish - конечный IP-адрес для пинга (например: 192.168.255.255)
$zcity_list - перечень населенных пунктов (tbl_adr_city.CODE) IP-адреса которых опрашивать (через запятую). 0 - объекты без адреса

Рекомендации

Лучше всего себя зарекомендовала следующая схема:

  • Создайте два отдельных каталога и положите туда два модуля us_ping со своими файлами конфигурации us_config.tmp. Также создайте два отдельных каталога для их логов
Модуль №1 - в файле конфигурации укажите параметры
$ps_onlydevice = 1;
$ps_threadcount = 25;
Пропишите в системный cron запуск этого модуля с частотой запуска - ежеминутно
Модуль №2 - в файле конфигурации укажите параметры
$ps_onlydevice = 0;
$ps_threadcount = 50;
Пропишите в системный cron запуск этого модуля с частотой запуска - раз в 10 минут
  • Таким образом первый модуль будет опрашивать ежеминутно только оборудование, которого во-первых немного (меньше чем абонентов), а во-вторых практически всё оборудование постоянно активно, в отличии от абонентов. Следовательно практически постоянно будет мониторится активность оборудования, а абоненты будут опрашиваться раз в 10 минут, что менее критично.

Замечания

  • Если ping опрашивает не все действительно рабочие устройства, то рекомендуется попробовать менять значение параметра $ps_pingtype (см. выше)
  • Также в зависимости от загрузки сервера и сетевой подсистемы возможны ситуации, когда операционная система "захлёбывается" от быстрого опроса множества устройств. Особенно, когда большое количество опрашиваемых устройств недоступно и не отвечает. В этой ситуации рекомендуется уменьшить значение параметра $ps_threadcount