Дерево страниц
Перейти к концу метаданных
Переход к началу метаданных

Вы просматриваете старую версию данной страницы. Смотрите текущую версию.

Сравнить с текущим просмотр истории страницы

Версия 1 Следующий »

Описание скриптов

  1. Скрипт выгрузки статистики финального редиректа на портале (main.py). Позволяет получить статистику уникальных пользователей по домену со ссылкой финального редиректа. 
  2. Скрипт изменения URL финального редиректа (replace_urls.py). Изменяет ссылку финального редиректа во всех порталах, найденных в результирующем файле первого скрипта (main.py).


Алгоритм работы скрипта 

  1. Создание подключений к базам данных;
  2. Проверка корректности доменов, введенных в файл application.conf;
  3. Получение всех необходимых данных из баз данных;
  4. Объединение всех полученных данных и подсчет уникальных пользователей;
  5. Сохранение полученного результата в файл (вывод названия файла в терминал);

Подготовка к запуску

У пользователя MySQL должны быть права чтения на БД wireless для таблиц SSID и SSID_PARAMS, которых нет по-умолчанию.
Так же для проверки нужны будут права чтения на таблицу DOMAINS базы данных eltex_ems.
Посмотреть текущие права:

show grants for <имя пользователя>;


Команда для выдачи прав:

GRANT SELECT ON wireless.SSID TO '<имя пользователя>'@'<ip хоста запуска скрипта или %>'; 
GRANT SELECT ON wireless.SSID_PARAMS TO '<имя пользователя>'@'<ip хоста запуска скрипта или %>'; 
GRANT SELECT ON eltex_ems.DOMAINS TO '<имя пользователя>'@'<ip хоста запуска скрипта или %>';


  • Для запуска скрипта должен быть установлен python3.10

  • Для запуска скрипта необходимо установить зависимости. Это можно сделать при помощи команды:

sudo pip3.10 install -r requirements.txt


Порядок запуска скриптов

  • Сконфигурировать скрипт в файле application.conf
  • Запустить скрипт main.py для получения результирующего файла статистики
  • Настроить скрипт замены ссылок финальных редиректов (settings.replace_urls в application.conf)
  • Запустить скрипт replace_urls.py

Конфигурационный файл application.conf

  • settings
    • domains список доменов, по которым необходимо фильтровать пользователей
    • nested флаг вложенности доменов. True - со вложенными, False- без вложенных
    • date_filter фильтр по дате. Будут найдены пользователи, созданные после указанной даты
      (не рекомендуется указывать дату старше полугода от текущей)
    • replace_urls настройка скрипта замены ссылок (настраивается после запуска main.py для replace_urls.py)
      • old_url ссылка финального редиректа, которую необходимо заменить
      • new_url ссылка финального редиректа, на которую будет заменена старая
      • result_file название результирующего файла, полученного скриптом сбора статистики (в этом файле хранятся данные, необходимые для запуска скрипта replace_urls.py)
  • logging
    • level уровень логирования (возможные варианты: "DEBUG", "INFO", "WARNING", "ERROR", "CRITICAL")
    • filename название файла, в который будут записываться логи
  • clickhouse
    • host хост, на котором установлен clickhouse
    • port порт clickhouse
    • user имя пользователя clickhouse
    • password пароль пользователя clickhouse
  • mysql
    • host хост, на котором установлен mysql
    • port порт mysql
    • username имя пользователя
    • password пароль пользователя
    • charset_ems кодировка базы данных eltex_ems
    • charset_radius кодировка базы данных radius
    • charset_wireless кодировка базы данных wireless
    • charset_ELTEX_PORTAL кодировка базы данных ELTEX_PORTAL

Запуск скрипта сбора статистики

python3.10 main.py

Запуск скрипта изменения ссылок финальных редиректов

python3.10 replace_urls.py

Пример работы скрипта main.py:

Start 
В таблице radstat найдено 404 записей, удовлетворяющих условию 
В таблице radacct найдено 609 записей, удовлетворяющих условию 
Результат выполнения скрипта выгружен в файл: result_2023-06-05_17-58-35.csv 
Finish 
Время выполнения скрипта: 0.04 с.

Пример работы скрипта replace_urls.py:

Start 
Заменена(ы) 3 ссылка(и) финального редиректа
Finish 
Время выполнения скрипта: 2.21 с.

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

  • Нет меток