Организация процесса загрузки CDR
Загрузка CDR производится с помощью предбиллинга (HMED) и тарификатора (HOCS).
Предбиллинг состоит из двух частей: коллектора (HMED-C) и ядра предбиллинга (HMED-M). Тарификатор также представляет собой отдельное приложение.
Все компоненты связываются между собой по протоколу AMQP через общий AMQP-сервер (rabbitmq версии не ниже 3.1.5).
Настройка загрузки CDR
Настройка HMED и HOCS производится через конфигурационные файлы в формате YAML. Конфигурация по-умолчанию находится в директориях /opt/hydra/hmed/conf и /opt/hydra/hocs/conf. Пользовательская конфигурация задаётся отдельно и по умолчанию находится в директориях /etc/hydra/hmed и /etc/hydra/hocs соответственно.
При запуске приложения все yml-файлы в директориях конфигураций объединяются в общее дерево конфигурации. При этом пользовательская конфигурация имеет больший приоритет, чем конфигурация по умолчанию.
Общие настройки описаны ниже, специфические параметры каждого компонента описаны в соответствующих разделах.
Общие настройки приложений
В качестве примера приведена конфигурация HMED-M, однако подобные настройки также используются в HMED-C и HOCS.
# настройки логирования
log:
common:
# уровень логирования
level: info
# путь к лог-файлу
path: /var/log/hydra/hmed/mediation.log
# настройки ротации логов
rotate:
# максимальный размер лога в Кб
size: 10240
# максимальное количество файлов
count: 25
# путь к pid-файлу
pid_path: /var/run/hydra/hmed/mediation.pid
server:
# максимальное время обработки запроса до прерывания по таймауту в секундах
request_timeout: 30
# максимальное количество попыток завершения процесса сигналом SIGTERM до отправки сигнала SIGTERM
abort_attempts: 5
# задержка между попытками завершения сигналом SIGTERM в секундах
abort_delay: 1
# флаг перезапуска процесса в случае его аварийного завершения (значение false используется при отладке)
restart_workers: true
system:
# настройки соединения с AMQP-сервером
amqp:
host: 127.0.0.1
port: 5672
username: guest
password: guest
# настройки AMQP-очередей
amqp:
mediation:
exchange: mediation
exchange_type: fanout
queue: mediation
ocs:
exchange: hocs
exchange_type: fanout
queue: ocs
error:
exchange: hmed_error
exchange_type: fanout
queue: mediation
