9
Ядро системы – это основной модуль, отвечающий за работу с базой данных, обеспечение доступа к ней и обработку входящей информации согласно внутренним правилам (таким как тарификация, периодические списания). Ядро – это отдельный многопоточный процесс, работающий в пользовательском режиме. Структура ядра такова, что оно органично вписывается в многопроцессорные архитектуры и при высоких нагрузках равномерно использует все предоставленные ресурсы.
Рис. 1. Схема устройства ядра UTM версии 5.3-004.
Обработчик запросов URFA (UTM Remote Function Access) является сервером вызовов удалённых процедур. Он принимает соединения от клиентов системы и выполняет запрошенные команды внутри ядра. Этот компонент служит в большей степени для организации пользовательских и администраторских интерфейсов.
Буфер NetFlow принимает данные о трафике в формате NetFlow версий 5,7,9 и 10 (IPFIX). Для устройств, поддерживающих экспорт статистики по иным протоколам, необходимо воспользоваться преобразователем статистики в совместимый формат.
Классификатор трафика – модуль ядра, осуществляющий сортировку всего трафика по категориям (классам трафика) на основании параметров, заданных в настройках системы. Параметры классификации задаются в центре управления UTM5.
Нетарифицированная информация о трафике, принадлежащая одному абоненту, агрегируется в первичном хранилище. После тарификации эта информация переносится во вторичное хранилище и агрегируется в одну запись при одинаковой стоимости трафика. Списание по информации из вторичного хранилища происходит при превышении максимальной стоимости трафика или максимального времени хранения информации в одной записи (Настройки в интерфейсе администратора), при изменении стоимости трафика (например, если стоимость трафика изменяется после достижения определенного объема), при получении ядром сигнала SIGHUP и при закрытии отчетного периода.
Модуль бизнес-логики (тарификатор и классификаторы) отвечает за тарификацию всех услуг, в том числе услуг передачи IP-трафика. Он осуществляет перевод количества оказанных оператором услуг в денежный эквивалент с учетом всех зависимостей, указанных администратором системы.
Модуль журналирования регистрирует в log-файлах все события в работе системы UTM5. Он позволяет администраторам проводить диагностику системы и получать информацию о сбоях в ее работе.
Модуль доступа к базе данных (DBA) осуществляет перевод внутрисистемных запросов данных в запросы к внешней базе данных. В качестве системы управления базой данных используйте MySQL.
Прием данных происходит посредством буфера NetFlow и обработчика запросов URFA. Исходные данные считываются из базы данных при запуске.
|
Любые изменения в базе данных, сделанные напрямую через СУБД во время работы ядра, могут привести к неконтролируемому поведению системы. |
Данные NetFlow поступают на обработку в бизнес-модуль, где рассчитываются все необходимые списания. В случае высокой пиковой загрузки поток NetFlow может быть буферизован для снижения возможных потерь. Необработанные данные NetFlow сохраняются в файлах специального формата. Модуль, сохраняющий эти данные, при запуске создаётсяв отдельной нити и, по возможности, с высоким приоритетом.
Исполняемый файл ядра UTM5 называется /netup/utm5/bin/utm5_core.
В командной строке можно передавать следующие параметры:
Путь к pid-файлу. |
|
Путь к конфигурационному файлу. |
|
Вывод информации о полном номере сборки, времени сборки и допустимых параметрах командной строки. |
Существуют три способа запуска utm5_core:
1.Непосредственный запуск бинарного файла /netup/utm5/bin/utm5_core с необходимыми параметрами;
2.Запуск с помощью скрипта watchdog с указанием параметра start
/netup/utm5/bin/safe_utm5_core start |
Скрипт автоматически перезапустит utm5_core, если он по каким либо причинам некорректно завершит работу;
3.Запуск с помощью скрипта автоматического запуска (рекомендуемый способ).
В Linux:
/etc/init.d/utm5_core start |
/usr/local/etc/rc.d/utm5_core.sh start |
Для остановки utm5_core и скрипта watchdog следует выполнить следующую команду:
/etc/init.d/utm5_core stop |
/usr/local/etc/rc.d/utm5_core.sh stop |
Настройка ядра производится с помощью:
–параметров, задаваемых в конфигурационном файле (см. Конфигурационный файл);
–параметров, задаваемых с помощью интерфейса администратора (см. Настройки в интерфейсе администратора).
Параметры, задаваемые в конфигурационном файле, используются при инициализации ядра и компонентов системы. Изменения параметров вступают в силу при следующем запуске ядра.
Параметры, задаваемые с помощью интерфейса администратора, определяют поведение ядра и его компонентов после запуска. Существует возможность изменять значения данных параметров, если не указано обратное, в любой момент работы ядра. Изменения вступают в силу с момента их внесения.
По умолчанию ядро биллинговой системы UTM5 использует конфигурационный файл /netup/utm5/utm5.cfg.
Формат конфигурационного файла:
параметр=значение |
Набор символов, находящийся до знака равенства, является названием параметра, после – значением параметра. Пробелы учитываются. Пустые строки игнорируются. Строка, начинающаяся с символа #, считается комментарием.
Ниже приводится список возможных параметров.
Параметры, связанные с базой данных:
Параметр |
Возможные значения |
По умолчанию |
Описание |
mysql |
обязательный параметр |
Тип базы данных. |
|
Строка |
обязательный параметр |
Название базы данных. |
|
Строка |
localhost |
Адрес хоста, на котором находится база данных. |
|
Строка |
логин текущего пользователя |
Логин для доступа к базе данных. |
|
Строка |
пустая строка |
Пароль для доступа к базе данных. |
|
database_sock_path (a) |
Строка |
/tmp/mysql.sock |
Путь к unix-сокету, используемому для подключения к серверу базы данных. Используется только в случае, когда database_host не указан или его значение равно localhost. |
database_port (a) |
Строка |
3306 |
Номер порта для доступа к базе данных. |
Число от 2 до 64 |
6 |
Количество соединений, открываемых ядром биллинговой системы к базе данных для пользовательских операций. |
|
Число от 2 до 64 |
4 |
Количество соединений, открываемых ядром биллинговой системы к базе данных для системных операций. |
|
Натуральное число |
5 |
Количество попыток соединения с базой данных, если соединение не было установлено, или количество попыток выполнения SQL-запроса, если его выполнение закончилось неудачно. |
|
Натуральное число |
2 |
Задержка в секундах перед повторной попыткой соединения с базой данных или перед повторным выполнением SQL-запроса. |
|
database_charset (a) |
Кодировка |
utf8 |
Кодировка соединения с базой данных. |
enable, disable |
enable |
Верифицировать базу данных перед запуском ядра UTM5. |
|
enable, disable |
disable |
Если включена верификация базы данных перед запуском, также верифицировать архивные таблицы. |
|
enable, disable |
disable |
Верифицировать индексы перед запуском ядра UTM5. |
Параметры, связанные c URFA-сервером:
Параметр |
Возможные значения |
По умолчанию |
Описание |
urfa_bind_host (a) |
IP-адрес интерфейса или 0.0.0.0 |
сервер отключен |
IP-адрес, на котором будет прослушиваться порт для приема URFA-запросов. |
Число от 1 до 65534 |
11758 |
Порт, который будет прослушиваться URFA-сервером. |
a.Можно указать несколько значений
Параметры, связанные со Stream-сервером:
Параметр |
Возможные значения |
По умолчанию |
Описание |
IP-адрес интерфейса или 0.0.0.0 |
0.0.0.0 |
IP-адрес, на котором будет прослушиваться порт для приема Stream-запросов. |
|
Число от 1 до 65534 |
12758 |
Порт, который будет прослушиваться Stream-сервером. |
Параметры, связанные с NXT-серверами:
Параметр |
Возможные значения |
По умолчанию |
Описание |
IP-адрес интерфейса или 0.0.0.0 |
0.0.0.0 |
IP-адрес, на котором будет прослушиваться порт для приема запросов NXT v.1. |
|
Число от 1 до 65534 |
11777 |
Порт, который будет прослушиваться сервером NXT v.1. |
|
IP-адрес интерфейса или 0.0.0.0 |
0.0.0.0 |
IP-адрес, на котором будет прослушиваться порт для приема запросов NXT v.2. |
|
Число от 1 до 65534 |
11778 |
Порт, который будет прослушиваться сервером NXT v.2. |
|
IP-адрес |
Не задан |
IP-адрес NetUP IPTV cluster core. |
|
Число от 1 до 65534 |
50500 |
Порт, который будет прослушивать IPTV cluster core в ожидании соединения. |
Параметр |
Возможные значения |
По умолчанию |
Описание |
Строка |
0.0.0.0 |
IP-адрес, на котором будет прослушиваться UDP-порт для приема потока NetFlow. |
|
Строка |
9997 |
Порт, на котором ядро принимает поток NetFlow. |
|
Натуральное число |
устанавливается ОС |
Размер буфера UDP-сокета, используемого для приема потока NetFlow. |
Параметры, связанные с подсчетом трафика:
Параметр |
Возможные значения |
По умолчанию |
Описание |
Путь к файлу |
/netup/utm5/db/ traffic.dat |
Файл для хранения информации о трафике при остановке ядра UTM5. |
Параметры генерации документов:
Параметр |
Возможные значения |
По умолчанию |
Описание |
Путь к директории |
/netup/utm5/doc |
Директория для хранения *.odt файлов. |
|
Путь к директории |
/tmp |
Папка для хранения временных файлов. |
|
Путь к файлу |
/usr/bin/libreoffice |
Путь к исполняемому файлу LibreOffice. |
|
Целое число (в байтах) |
1000000 |
Максимальный размер загружаемого шаблона документа / договора. |
Параметры журналирования (подробнее – в разделе Журналирование):
Параметр |
Возможные значения |
По умолчанию |
Описание |
Число |
1 |
Определяет уровень сообщений, записываемых в основной поток сообщений. |
|
Путь к файлу |
Стандартный поток ошибок |
Файл основного потока сообщений. |
|
Путь к файлу |
Стандартный поток ошибок |
Файл потока сообщений с диагностической и отладочной информацией. |
|
Путь к файлу |
Стандартный поток ошибок |
Файл потока сообщений о критических ошибках. |
|
Путь к файлу |
/netup/utm5/log/ ve-rificator.sql |
Файл сообщений верификатора базы данных. |
|
string |
Не задано |
Префикс, добавляемый к записям при включенной опции записи в системный журнал (syslog). |
|
yes, on, enable |
Ротация отключена |
Включает ротацию log-файлов. |
|
max_logfile_count (a) |
Число |
Не ограничено |
Максимальное количество хранимых log-файлов. |
max_logfile_size (a) |
Размер в байтах |
10485760 |
Размер log-файла, при достижении которого производится ротация. |
Путь к файлу |
/var/run/utm5_core.pid |
PID-файл |
a.Действует, если включена ротация log-файлов
Параметры, связанные с размером стека:
Параметр |
Возможные значения |
По умолчанию |
Описание |
Размер в байтах (не менее 65536) |
8388608 |
Размер стека нити, отвечающей за бизнес-логику. |
|
Размер в байтах (не менее 65536) |
Не задано |
Размер стека нити URFA-сервера. |
Параметры, связанные со специальной лицензией:
Параметр |
Возможные значения |
По умолчанию |
Описание |
Путь к файлу |
Файл сертификата. |
||
Путь к файлу |
Файл приватного ключа. |
||
Строка |
Пустая строка |
Пароль приватного ключа. |
Параметры системы, задаваемые в интерфейсе администратора, находятся на вкладке Настройки: Настройки системы и разделены на несколько групп настроек:
–Настройки карточных пользователей
Откройте нужную группу настроек двойным щелчком мыши или нажатием кнопки . Откроется окно со списком редактируемых параметров:
Если название параметра подчеркнуто, то при наведении на него курсора мыши отображается всплывающая подсказка с описанием параметра:
Параметры Период агрегации трафика и Пороговая сумма списания при агрегации трафика определяют периодичность списания средств со счетов пользователей.
|
Эти два параметра действуют одновременно, т. е. списание происходит при наступлении любого из условий: превышение периода агрегации или накопление пороговой суммы списания. |
|
Чем меньше значения данных параметров, тем быстрее будут увеличиваться таблицы списания – наиболее объёмная часть БД, в связи с чем могут потребоваться специальные меры (см. Архивирование таблиц списаний). |