Организация процесса загрузки CDR

Загрузка CDR производится с помощью предбиллинга (HMED) и тарификатора (HOCS).

Предбиллинг состоит из двух демонов: коллектора (HMED-C) и ядра предбиллинга (HMED-M). Тарификатор также представляет собой отдельный демон.

Все демоны связываются между собой по протоколу AMQP через общий AMQP-сервер (rabbitmq).

Настройка загрузки CDR

Настройка HMED и HOCS производится через конфигурационные файлы в формате YAML, находящиеся в директории conf/local.

При запуске демона все yml-файлы в директории conf объединяются в общее дерево конфигурации. При этом настройки из conf/local имеют наибольший приоритет, чем конфигурация по-умолчанию.

Общие настройки описаны ниже, специфические параметры каждого демона описаны в соответсвующих разделах.

Общие настройки демонов

В качестве примера приведена конфигурация HMED-M, однако эти настройки также работают в HMED-C и HOCS.

log: # настройки логирования
  common:
    level: info # уровень логирования
    path: /var/log/hydra/hmed/mediation.log # путь к лог-файлу
    rotate: # настройки ротации логов
      size: 10240 # максимальный размер лога в Кб
      count: 25 # максимальное количество хранимых лог-файлов
pid_path: /var/run/hydra/hmed/mediation.pid # путь к pid-файлу
server:
  request_timeout: 30 # максимальное время обработки запроса до прерывания по таймауту
  abort_attempts:  5 # максимальное количество попыток завершения процесса сигналом SIGTERM до отправки сигнала SIGTERM
  abort_delay: 1 # задержка между отправками сигнала SIGTERM при завершении
  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