Техническое задание
На платформе Wi-fi требуется реализовать возможность получения статистики по ВСП заказчика (разово или периодически);
Сформировать текстовый файл со статистическими данными в формате доступном для просмотра в программах: Microsoft Excel, Libre office Calc, Open office Calc;
Кодировка выгрузки: UTF8;
Разделитель: точка с запятой (;);
Файл должен содержать заголовок с информацией о содержимом в колонках выгрузки;
Содержимое выгрузки
- Вывести порядковый номер записи;
- Вывести список ВСП в числовом формате в виде: [0-9]{4}-[0-9]{5}, либо в виде полного домена;
- Вывести период получения статистики.
Формировать список ВСП с сетями (SSID)
Enterprise network (служебная сеть сотрудников заказчика);
Guest network (hotspot, гостевая сеть с портальной авторизацией);
Equipment network (служебная сеть для подключения устройств инфраструктуры: принтеры, сканеры и т.д.);
Есть возможность ограничить данные статистики только некоторыми типами сетей. Вывод отключается опционально в секции [common] файла настроек.
Для каждого типа сети выводится статистика
MAC avg - среднее (округлено до целого) число уникальных МАС в сутки за отчётный период;
MAC max - максимальное число уникальных МАС в сутки за отчётный период;
Input avg (MB) - Среднее значение входящего трафика в сутки за отчётный период, в МБ;
Output avg (MB) - Среднее значение исходящего трафика в сутки за отчётный период, в МБ;
Input sum (MB) - Суммарное количество входящего трафика за отчётный период, в МБ;
Output sum (MB) - Суммарное количество исходящего трафика за отчётный период, в МБ;
Служебные поля
Для возможности обогащения отчёта информацией о загрузке канала ( службами ), добавить в выгрузку служебное поле 'CMS order', 'RegionId', 'Region', 'City', в которое прописывается информация о номере заказа CMS. Информация берётся из ТД, помещённой в узел, которому соответствует домен ВСП. Вывод включается опционально в секции [common] файла настроек.
- CMS order
- ID региона
- Регион
- Населённый пункт
- Количество ТД в ВСП
Список MAC адресов ТД в ВСП экспортируется при включении флага 'export_ap_data' в секции [common]. Список МАС экспортируется в формате верхнего регистра с разделителем "пробел". Работает только при включенном флаге 'export_cms_data'.
- MAC list
Реализация
Данные формируются на основе таблицы radius.radacct (аккаунтинг, передаваемый точками доступа).
Данные формируются для трёх типов сетей (в скобках указаны условия разделения сетей):
- Hotspot (ssidtype=0)
- Enterprise (ssidtype=1)
- Equipment (ssidtype=2)
Данные формируются на интервале не менее суток. Данные формируются на интервале не более года. Среднее — это среднее число уникальных МАС в сутки на интервале. Максимальное — это максимальное число уникальных МАС в сутки на интервале.
Главный критерий принадлежности записи заказчику — это домен точки доступа: SBERBANK_DOMAIN = '%.Ap.root' При сборе статистики для других банков и организаций нужно:
- Заменить базовый домен поиска в секции [common] параметр 'domain';
- Выключить режим поиска ВСП по формату 1234-12345. Для этого в секции [common] заменить значение параметра 'vsp_mode' со значения 'sber' на значение 'any' (без кавычек);
Примечания
Программа считает уникальные данные в пределах суток, но не фиксирует были ли они действительно одновременно в сети в пределах данных суток.
Для сессий длящихся более суток, возможно искажение информации, однако, анализ данных показал, что таких сессий менее 0.3% из общего числа сессий заказчика (выборка за март 2020 г.)
В аккаунтинге существуют записи у которых не сохранено название SSID (acctssid=''). Такие записи игнорируются и не участвуют в сборе статистики. Т.е. фиксируются только те, для которых можно определить SSID.
Особенности работы скрипта в том, что нельзя задавать интервал более 1 года, т.к. используется SQL-функция DAYOFYEAR(), чтобы разделить записи по дням. Если интервал будет более одного года, статистика (avg, max) будет искажена.
Скрипт в первую очередь получает всю информацию из БД 'radius.radacct' (ClickHouse/MySQL), затем, если включена опция 'export_cms_data', производится подключение к БД 'eltex_ems' (MySQL) и последовательно по всем ВСП производится поиск ТД в таблице ELTEX_GEO_OBJ по полному совпадению домена ВСП. Вычитывается первая попавшаяся ТД.