Техническое задание

Содержимое выгрузки

Формировать список ВСП с сетями (SSID)

Есть возможность ограничить данные статистики только некоторыми типами сетей. Вывод отключается опционально в секции [common] файла настроек.

Для каждого типа сети выводится статистика

Служебные поля

Для возможности обогащения отчёта информацией о загрузке канала ( службами ), добавить в выгрузку служебное поле 'CMS order', 'RegionId', 'Region', 'City', в которое прописывается информация о номере заказа CMS. Информация берётся из ТД, помещённой в узел, которому соответствует домен ВСП. Вывод включается опционально в секции [common] файла настроек.

Список MAC адресов ТД в ВСП экспортируется при включении флага 'export_ap_data' в секции [common]. Список МАС экспортируется в формате верхнего регистра с разделителем "пробел". Работает только при включенном флаге 'export_cms_data'.


Реализация

Данные формируются на основе таблицы radius.radacct (аккаунтинг, передаваемый точками доступа).

Данные формируются для трёх типов сетей (в скобках указаны условия разделения сетей):

Данные формируются на интервале не менее суток. Данные формируются на интервале не более года. Среднее — это среднее число уникальных МАС в сутки на интервале. Максимальное — это максимальное число уникальных МАС в сутки на интервале.

Главный критерий принадлежности записи заказчику — это домен точки доступа: SBERBANK_DOMAIN = '%.Ap.root' При сборе статистики для других банков и организаций нужно:

Примечания

Программа считает уникальные данные в пределах суток, но не фиксирует были ли они действительно одновременно в сети в пределах данных суток.

Для сессий длящихся более суток, возможно искажение информации, однако, анализ данных показал, что таких сессий менее 0.3% из общего числа сессий заказчика (выборка за март 2020 г.)

В аккаунтинге существуют записи у которых не сохранено название SSID (acctssid=''). Такие записи игнорируются и не участвуют в сборе статистики. Т.е. фиксируются только те, для которых можно определить SSID.

Особенности работы скрипта в том, что нельзя задавать интервал более 1 года, т.к. используется SQL-функция DAYOFYEAR(), чтобы разделить записи по дням. Если интервал будет более одного года, статистика (avg, max) будет искажена.

Скрипт в первую очередь получает всю информацию из БД 'radius.radacct' (ClickHouse/MySQL), затем, если включена опция 'export_cms_data', производится подключение к БД 'eltex_ems' (MySQL) и последовательно по всем ВСП производится поиск ТД в таблице ELTEX_GEO_OBJ по полному совпадению домена ВСП. Вычитывается первая попавшаяся ТД.

Скрипт с описанием доступен в архиве vsp_by_period.zip