Настроил BGInetAccounting по получение netflow. Приложение запускается, но порт не открывается:
Код:
# ps ax | grep BGInet
22594 pts/4 Sl 0:21 /opt/java/jdk/bin/java -Dnetworkaddress.cache.ttl=3600 -Djava.net.preferIPv4Stack=true -Dboot.info=1 -Dapp.name=BGInetAccounting -Djava.endorsed.dirs=/lib/endorsed:/opt/java/jdk/lib/endorsed -Dlog.dir.path=log/ -Dlog4j.configuration=log4j-accounting.xml -Xmx256m -Dadmin.port=1952 -cp .:./lib/ext/bgcommon-boot.jar ru.bitel.common.bootstrap.Boot ru.bitel.bgbilling.kernel.application.server.Application inet-accounting
[code]
[/code]
# netstat -tna | grep 2001
#
конфиг:
Код:
# cat inet-accounting.xml
<?xml version="1.0" encoding="UTF-8"?>
<application context="accounting">
<!-- Уникальное имя приложения -->
<param name="app.name" value="BGInetAccounting"/>
<!-- Уникальный числовой id приложения -->
<param name="app.id" value="102"/>
<!-- Параметры подключения к БД -->
<param name="db.driver" value="com.mysql.jdbc.Driver"/>
<param name="db.url" value="jdbc:mysql://127.0.0.1/bgbilling?useUnicode=true&characterEncoding=Cp1251&allowUrlInLocalInfile=true&zeroDateTimeBehavior=convertToNull&jdbcCompliantTruncation=false&queryTimeoutKillsConnection=true&connectTimeout=1000"/>
<param name="db.user" value="bill"/>
<param name="db.pswd" value="bgbilling"/>
<param name="db.validationTimeout" value="10"/>
<!-- Параметры подключения к MQ -->
<param name="mq.url" value="failover:(tcp://localhost:61616)"/>
<param name="mq.user" value="bill"/>
<param name="mq.pswd" value="bgbilling"/>
<!-- id модуля -->
<param name="moduleId" value="1"/>
<!-- id корневого устройства -->
<param name="rootDeviceId" value="1"/>
<!-- Внутренняя переменная приложения, не изменять -->
<param name="commonIdentifierName" value="rootDeviceId"/>
<!-- Параметры сохранения radius-пакетов в файлы логов -->
<!-- Директория, в которую сохранять radius логи -->
<param name="datalog.radius.dir" value="data/radius" />
<!-- Размер блока данных в файле лога, также размер буфера на лог файл -->
<param name="datalog.radius.chunk.size" value="524288" />
<!-- Сжимать radius логи: 0 - не сжимать, 1 - zlib -->
<param name="datalog.radius.compression.type" value="1" />
<!-- Параметры сохранения flow-пакетов в файлы логов -->
<!-- Директория, в которую сохранять flow логи -->
<param name="datalog.flow.dir" value="data/flow" />
<!-- Размер блока данных в файле лога, также размер буфера на лог файл и поток слушателя -->
<param name="datalog.flow.chunk.size" value="524288" />
<!-- Сжимать flow логи: 0 - не сжимать, 1 - zlib -->
<param name="datalog.flow.compression.type" value="1" />
<!-- Создание Accounting -->
<bean name="accounting" class="ru.bitel.bgbilling.modules.inet.accounting.Accounting"/>
<!-- Cоздание процессора flow-пакетов -->
<context name="collector">
<!-- Служебный ScheduledExecutorService, необходимый для dataLogger -->
<scheduledExecutorService name="hrlydtlggr" corePoolSize="1"/>
<!-- Cоздание dataLogger, сохраняющего flow-пакеты на диск (только один экземпляр) -->
<bean name="flowDataLogger" class="ru.bitel.bgbilling.modules.inet.collector.IPHourlyDataLogger">
<param name="scheduledExecutor">hrlydtlggr</param>
</bean>
<!-- Cоздание слушателя flow-пакетов на порту с передачей ему dataLogger -->
<bean name="flowListener" class="ru.bitel.bgbilling.modules.inet.collector.InetFlowListener">
<constructor factoryMethod="newInstance">
<!-- Тип слушателя, netflow, netflow9 или sflow -->
<param name="type" value="netflow"/>
<!-- Хост (интерфейс), на котором будет открыт сокет. Если пусто - на всех -->
<param name="host" value=""/>
<!-- Порт, на котором будет открыт сокет -->
<param name="port" value="2001"/>
<!-- Размер буфера приема слушателя -->
<param name="recvBufferSize">4 * 1024 * 1024</param>
<!-- Рекомендуемый SO_RCVBUF сокета -->
<param name="soRCVBUF">512 * 1024</param>
<!-- Количество потоков-обработчиков -->
<param name="threadCount" value="10"/>
<!-- id устройств-источников, если на данном порту нужно обрабатывать данные только у определенных источников -->
<param name="agentDeviceIds" value="2"/>
<!-- Передача dataLogger -->
<param name="dataLogger">flowDataLogger</param>
</constructor>
</bean>
<context name="detail">
<!-- Cоздание обработчика flow детализации -->
<bean name="detailWorker" class="ru.bitel.bgbilling.modules.inet.accounting.detail.InetDetailWorker"/>
</context>
</context>
</application>
Лог уверяет, что все запущено и порт открыт:
Код:
# cat all.log
02-15/11:32:46 INFO [main] DefaultServerSetup - Binding javax.jms.ConnectionFactory[org.apache.activemq.ActiveMQConnectionFactory@122cdb6] to java:comp/env/mq/connectionFactory
02-15/11:32:46 INFO [main] DefaultServerSetup - Init DB connection pools
02-15/11:32:46 INFO [main] DefaultServerSetup - Binding JDBC pool "master" to java:comp/env/jdbc/master
02-15/11:32:47 INFO [main] DefaultServerSetup - Init trash pools..
mq 02-15/11:32:48 INFO [EventProcessor-init] EventProcessor - Init EventProcessor MQ connection factory...
accounting 02-15/11:32:52 INFO [main] InetApplication - rootDeviceId=1
accounting 02-15/11:32:52 INFO [main] Setup - Load config for mid=1
accounting 02-15/11:32:53 INFO [main] InetOptionRuntimeMap - Loading inetOptionRuntimeMap for moduleId:1
script 02-15/11:32:54 INFO [main] ScriptEventListener - Starting ScriptEventListener...
script 02-15/11:32:54 INFO [main] ScriptEventListener - Relinking script functions.
script 02-15/11:32:54 INFO [main] ScriptEventListener - Skip event type bitel.billing.server.script.bean.event.ContractWebLoginEvent. Class not found for this application.
script 02-15/11:32:54 INFO [main] ScriptEventListener - Starting DynamicScriptEventListener...
collector 02-15/11:32:55 INFO [main] InetFlowListener - Create new FlowListener netflow on port 2001 [recv_buf_size=4194304]
collector 02-15/11:32:55 INFO [main] FlowAgentInterfaceSelector - Loaded sources: []
accounting 02-15/11:32:55 INFO [main] Application - Starting Accounting@22859697
accounting 02-15/11:32:55 INFO [main] InetDeviceRuntimeMap - (Re)loading InetDeviceRuntimeMap
accounting 02-15/11:32:56 INFO [main] InetDeviceMap - (Re)loading InetDeviceMap
accounting 02-15/11:32:56 INFO [main] InetDeviceRuntime - Reload protocolHandler class for device: Accounting + Access сервер: сервер
accounting 02-15/11:32:56 INFO [main] InetDeviceRuntime - Reload protocolHandler class for device: flow-agent: Netflow [172.17.1.4]
accounting 02-15/11:32:56 INFO [main] InetDeviceRuntime - Reload protocolHandler class for device: Linux router: Linux router
accounting 02-15/11:32:56 INFO [main] FlowAgentInterfaceMap - Reload AccountingInterfaceMap
accounting 02-15/11:32:56 INFO [main] FlowAgentInterfaceSelector - Loaded sources: [/172.17.1.4]
accounting 02-15/11:32:57 INFO [main] InetServRuntimeMap - Loading inetServs from database.
accounting 02-15/11:32:57 INFO [main] InetServRuntimeMap - Loaded 0 inetServs.
accounting 02-15/11:32:57 INFO [main] Accounting - Create worker 3
accounting 02-15/11:32:57 INFO [main] Accounting - Add finishing worker: delay=20, batchSize=500
accounting 02-15/11:32:57 INFO [main] Accounting - Create worker 2
accounting 02-15/11:32:57 INFO [main] Accounting - Add flushing worker: minDeltaAmount=0, minDeltaAccount=0, delay=20, batchSize=500
accounting 02-15/11:32:57 INFO [main] Accounting - Create worker 1
accounting 02-15/11:32:57 INFO [main] Accounting - Add tariffication worker: minDeltaAmount=0, delay=10, batchSize=100
accounting 02-15/11:32:57 INFO [main] Accounting - Add tracking worker: delay=20, batchSize=100
accounting 02-15/11:32:58 INFO [main] ConnectionMapAuto - Init auto sessions
accounting 02-15/11:32:58 INFO [main] Accounting - Radius processor is null
accounting 02-15/11:32:58 INFO [main] ConnectionMapCall - Init call sessions
accounting 02-15/11:32:58 INFO [main] Application - Started Accounting@22859697
collector 02-15/11:32:58 INFO [main] Application - Starting ru.bitel.bgbilling.modules.inet.collector.InetFlowListener$2@3461d1 [queue_size: 0; threads_active: 0; largest: 0; core: 10; pool_size: 0; recv_socket_buf_size: 94 208; recv_buf_size: 4 194 304; packets: 0]
collector 02-15/11:32:58 INFO [main] DatagramChannelListener - Open socket [0.0.0.0/0.0.0.0:2001]
collector 02-15/11:32:58 INFO [main] DatagramChannelListener - ru.bitel.bgbilling.modules.inet.collector.InetFlowListener$2 socket init ok.
collector 02-15/11:32:58 INFO [main] Application - Started ru.bitel.bgbilling.modules.inet.collector.InetFlowListener$2@3461d1 [queue_size: 0; threads_active: 0; largest: 0; core: 10; pool_size: 0; recv_socket_buf_size: 131 071; recv_buf_size: 4 194 304; packets: 0]
detail 02-15/11:32:58 INFO [main] Application - Starting ru.bitel.bgbilling.modules.inet.accounting.detail.InetDetailWorker@1286b10
detail 02-15/11:32:58 INFO [main] Application - Started ru.bitel.bgbilling.modules.inet.accounting.detail.InetDetailWorker@1286b10
Как настроить?