Организация процесса загрузки 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