BGIPNNetFlowCollector обновляется как обычное серверное приложение биллинга. Необходимо обновить приложение перед первым запуском.
В данном руководстве пропущена настройка экспорта NetFlow-логов на вашем роутере, вы можете обратится к его документации для выяснения данного момента. Для PC-роутеров вы можете использовать NetFlow-агент ipcad.
Установите на вашей машине BGIPNNetFlowCollector, который можно загрузить с нашего сайта. Распакуйте архив например на диск
(для MS), либо для Linux.Следующий абзац актуален только для MS-систем.
Далее установите переменную среды
. Как устанавливать переменные среды вы можете посмотреть в документации по установке сервера. Также на машине с коллектором должна быть установлена переменная . Если на этой машине уже установлен сервер биллинга, либо радиус сервер, она уже указана. Вызовите скрипт для установки службы и можете запускать/останавливать коллектор через консоль управления службами MS. После установки системных переменных перезагрузите машину с коллектором.Для UNIX-систем укажите в файле
переменную - путь к установленной jre, либо jdk (например ). Создайте службу запуска коллектора через скрипт и стопа через , либо просто сделайте его автоматически стартующим после mysql-демона. Скрипты для /etc/init.d можно сделать по аналогии со скриптами , .Коллектор хранит логи в бинарных файлах собственного формата. При этом записи хранятся в своем изначальном виде - т.е. пакеты netflow и sflow хранятся как есть. Часовой лог может хранится в нескольких файлах. Лог совместим с форматом XDR. Лог состоит из заголовка и данных. Данные
разбиты на блоки одинаковой длины, при этом, если данных в блоке меньше, чем его длина, то оставшееся место заполнено нулевыми байтами. Данные могут быть сжаты zlib (блоки сжимаются в одном zlib потоке).Формат файла лога:
header { int magic = "BGDL" = 0x4247; int version = 2; int type = 1 (IP); int header_params_length; param<> { int param_type; int param_value_length; opaque value; } } data { block<> { int block_length; long reserved; int reserved; opaque block_data; } }
Коллектор может работать как в автономном режиме, принимая и обрабатывая логи, так и взаимодействуя с flow-tools коллектором. Обработка логов производится непосредственно самим коллектором, что позволяет хорошо разносить нагрузку по машинам.
Логи складываются в дерево каталогов в следующем формате:
source_<код источника> + yyyy/ + yyyy-MM/ + yyyy-MM-dd/ + log_yyyy-MM-dd-HH.nnn.bgdl
например, лог за 3 час 25-го мая 2009 года:
source_1 + 2009/ + 2009-05/ + 2009-05-25/ + log_2009-05-25-03.000.bgdl + log_2009-05-25-03.001.bgdl + log_2009-05-25-03.002.bgdl
Для начала работы необходимо сконфигурировать файл
в соответствии с необходимым функционалом.# Порт управления коллектором port.admin=2003 # Опции подключения к БД db.driver=com.mysql.jdbc.Driver db.url=jdbc:mysql://127.0.0.1/bgbilling?useUnicode=true&characterEncoding=UTF-8 db.user=bill db.pswd=bgbilling db.maxActive=300 db.maxIdle=100 # Код модуля IPN collector.mid=XXX # Где будут храниться логи (папка должна существовать и должны быть полные права на неё для процесса коллектора) log.dir=/usr/bill/log # Обрабатывать логи process=1 # Источники, логи которых будут обрабатываться коллектором # данное поле не влияет на прием данных, а только на обработку логов process.sources=<числовые коды источников> # Кколичество обработчиков часовых логов, # т.е. если необходимо обработать несколько часов, то их будут обрабатывать указанное кол-во потоков, # на каждый час - один поток #process.thread.count=1 # Количество потоков-обработчиков часового лога # Указанное количество потоков будет обрабатывать часовой лог # (не действует для старого формата логов и для логов snmp) #process.datalog.thread.count=1 # Частота генерации заданий на обработку логов в минутах # Если опция не указана, генерация происходит только на границе часа #generate.minutes=30 # Каталог, куда будет выкладываться детализация на сервере #ipn.collector.detail.folder=tmp
В параметре
файла укажите числовой код вашего модуля IPN, вы можете его узнать в редакторе модулей и услуг. Если база расположена на отличной от коллектора машине или вы меняли логин/пароль, скорректируйте опции подключения к БД. В параметре укажите числовые коды источников, логи которых коллектор будет обрабатывать, через запятую. Параметр определяет директорию расположения бинарных логов.Код источника можно посмотреть на вкладке
экземпляра модуля IPN в первом столбце таблицы.Возможно использование коллектора в автономном режиме, при этом он сам будет сохранять логи в файлы и производить их обработку ежечасно или чаще (опция
). Также коллектор выполняет задания на переобработку логов добавленные пользователем в менеджере источников вручную.Либо коллектор может работать в связке с flow-tools или иными сторонними коллекторами, при этом он При работе в связке с flow-tools коллектор перестаёт выполнять функции коллектора и остаётся лишь обработчиком.
Далее идёт описание запуска коллектора в автономном режиме и связке с flow-tools.