forum.bitel.ru http://forum.bitel.ru/ |
|
Нет логов Inet (CRM) http://forum.bitel.ru/viewtopic.php?f=44&t=9396 |
Страница 1 из 1 |
Автор: | stark [ 03 июл 2014, 12:42 ] |
Заголовок сообщения: | Re: Нет логов Inet |
На диске в папке файлы есть? |
Автор: | LёLik [ 03 июл 2014, 13:14 ] |
Заголовок сообщения: | Re: Нет логов Inet |
Папки с июлем нет. [root@bg-collector-ppk 2014]# pwd /usr/local/BGInetAccounting/data/flow/source_8/2014 [root@bg-collector-ppk 2014]# ll total 8 drwxr-xr-x 18 root root 4096 May 31 00:00 2014-05 drwxr-xr-x 32 root root 4096 Jun 30 00:00 2014-06 |
Автор: | LёLik [ 03 июл 2014, 13:16 ] |
Заголовок сообщения: | Re: Нет логов Inet |
ps выдаёт root 25478 0.1 3.1 2627444 119856 ? Sl Jun10 50:55 /opt/java/jdk/bin/java -Dnetworkaddress.cache.ttl=3600 -Djava.net.preferIPv4Stack=true -Dboot.info=1 -Dapp.name=BGInetAccess -Djava.endorsed.dirs=/lib/endorsed:/opt/java/jdk/lib/endorsed -Dlog.dir.path=log/ -Dlog4j.configuration=log4j-access.xml -Xmx256m -Dadmin.port=1951 -cp .:./lib/ext/bgcommon-boot.jar ru.bitel.common.bootstrap.Boot ru.bitel.bgbilling.kernel.application.server.Application inet-access root 25502 2.5 15.8 2844868 596832 ? Sl Jun10 838:12 /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 |
Автор: | stark [ 03 июл 2014, 13:27 ] |
Заголовок сообщения: | Re: Нет логов Inet |
LёLik писал(а): Папки с июлем нет. [root@bg-collector-ppk 2014]# pwd /usr/local/BGInetAccounting/data/flow/source_8/2014 [root@bg-collector-ppk 2014]# ll total 8 drwxr-xr-x 18 root root 4096 May 31 00:00 2014-05 drwxr-xr-x 32 root root 4096 Jun 30 00:00 2014-06 Внутри в июне наверное тоже нет файлов за последние несколько часов. Посмотрите нет ли ошибок в логах accounting-а. |
Автор: | LёLik [ 03 июл 2014, 13:39 ] | ||
Заголовок сообщения: | Re: Нет логов Inet | ||
java.lang.OutOfMemoryError: Direct buffer memory at java.nio.Bits.reserveMemory(Bits.java:632) at java.nio.DirectByteBuffer.<init>(DirectByteBuffer.java:97) at java.nio.ByteBuffer.allocateDirect(ByteBuffer.java:288) at ru.bitel.bgbilling.kernel.network.flow.FlowListener.run(FlowListener.java:102) at java.lang.Thread.run(Thread.java:662)
|
Автор: | stark [ 03 июл 2014, 14:25 ] |
Заголовок сообщения: | Re: Нет логов Inet |
LёLik писал(а): java.lang.OutOfMemoryError: Direct buffer memory at java.nio.Bits.reserveMemory(Bits.java:632) at java.nio.DirectByteBuffer.<init>(DirectByteBuffer.java:97) at java.nio.ByteBuffer.allocateDirect(ByteBuffer.java:288) at ru.bitel.bgbilling.kernel.network.flow.FlowListener.run(FlowListener.java:102) at java.lang.Thread.run(Thread.java:662) нужно задать параметр в accounting.sh и перезапустить его Код: -XX:MaxDirectMemorySize=256m
|
Автор: | stark [ 03 июл 2014, 14:34 ] |
Заголовок сообщения: | Re: Нет логов Inet |
покажите еще конфигурацию acconting-а. Какая у вас ОС ? |
Автор: | stark [ 03 июл 2014, 14:36 ] |
Заголовок сообщения: | Re: Нет логов Inet |
http://bgbilling.ru/v6.1/doc/ch17s13s05.html Цитата: Внимание
Каждый слушатель использует буферы памяти в direct memory, которая не находится в обычном heap java, общий размер которых можно расчитать как recvBufferSize (+ recvBufferSize) + threadCount * datalog.flow.chunk.size(datalog.chunk.size). Direct memory может использоваться также другими слушателями, а также при обработке логов. При превышении доступной памяти произойдет ошибка java.lang.OutOfMemoryError: Direct buffer memory. В старых билдах JRE MaxDirectMemorySize по умолчанию ограничен 64МБ, в новых - ограничен размером свободной оперативной памяти. Для того, чтобы указать конкретное значение, используется параметр в строке запуска -XX:MaxDirectMemorySize. |
Автор: | LёLik [ 03 июл 2014, 14:42 ] |
Заголовок сообщения: | Re: Нет логов Inet |
А есть какая-нибудь возможность получать уведомления о том, что данные с коллектора не идут? Потеря такого количества логов для меня довольно неприятна. И ещё такой вопрос. Сервер биллинга и коллектор физически разнесены и задержка между ними довольна большая. Будет эта схема работать или нет? Если требуются доработки, с кем я могу обсудить тех задание и стоимость. И если со стандартными настройками неработает может вы оказываете услуги по внедрению? |
Автор: | stark [ 03 июл 2014, 14:46 ] |
Заголовок сообщения: | Re: Нет логов Inet |
LёLik писал(а): Если требуются доработки, с кем я могу обсудить тех задание и стоимость. И если со стандартными настройками неработает может вы оказываете услуги по внедрению? Это все обсуждается в helpdesk. |
Автор: | stark [ 03 июл 2014, 14:51 ] |
Заголовок сообщения: | Re: Нет логов Inet |
LёLik писал(а): А есть какая-нибудь возможность получать уведомления о том, что данные с коллектора не идут? Вот тут настраивали мониторинг по jmx. По логам вроде там нет пока мониторинга. По идее можно alarm слать, если на исходе часа нет лога. Но пока нет такой возможности, да и в общем случае не всегда логи могут быть. |
Автор: | LёLik [ 03 июл 2014, 16:02 ] |
Заголовок сообщения: | Re: Нет логов Inet |
Accounting config Код: <?xml version="1.0" encoding="UTF-8"?> <application context="accounting"> <!-- Уникальное имя приложения --> <param name="app.name" value="BGInetAccounting-ppk"/> <!-- Уникальный числовой id приложения --> <param name="app.id" value="31"/> <!-- Параметры подключения к БД --> <param name="db.driver" value="com.mysql.jdbc.Driver"/> <param name="db.url" value="jdbc:mysql://ip/bgbilling?useUnicode=true&characterEncoding=Cp1251&allowUrl InLocalInfile=true&zeroDateTimeBehavior=convertToNull&jdbcCompliantTruncation=false&queryTimeoutKillsConnection=true &connectTimeout=1000"/> <param name="db.user" value="bill"/> <param name="db.pswd" value=""/> <param name="db.validationTimeout" value="10"/> <!-- Параметры подключения к MQ --> <param name="mq.url" value="failover:(tcp://ip:61616)"/> <param name="mq.user" value="bill"/> <param name="mq.pswd" value=""/> <!-- id модуля --> <param name="moduleId" value="2"/> <!-- id корневого устройства --> <param name="rootDeviceId" value="6"/> <!-- Внутренняя переменная приложения, не изменять --> <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"/> <context name="radius"> <!-- Cоздание процессора radius-пакетов --> <bean name="radiusProcessor" class="ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor"/> <!-- Служебный ScheduledExecutorService, необходимый для dataLogger --> <scheduledExecutorService name="hrlydtlggr" corePoolSize="1"/> <!-- Cоздание dataLogger, сохраняющего radius-пакеты на диск (только один экземпляр) --> <bean name="radiusDataLogger" class="ru.bitel.bgbilling.modules.inet.radius.RadiusHourlyDataLogger"> <param name="scheduledExecutor">hrlydtlggr</param> </bean> <!-- Cоздание слушателя radius-пакетов на порту с передачей ему процессора и dataLogger --> <bean name="radiusListener" class="ru.bitel.bgbilling.modules.inet.radius.InetRadiusListener"> <constructor> <!-- Хост (интерфейс), на котором будет открыт сокет. Если пусто - на всех --> <param name="host" value=""/> <!-- Порт, на котором будет открыт сокет --> <param name="port" value="1813"/> <!-- Размер буфера приема слушателя --> <param name="recvBufferSize">1 * 1024 * 1024</param> <!-- Рекомендуемый SO_RCVBUF сокета --> <param name="soRCVBUF"></param> <!-- Количество потоков-обработчиков --> <param name="threadCount">10</param> <!-- Максимальное количество пакетов в очереди на обработку --> <param name="maxQueueSize">200</param> <!-- Передача процессора --> <param name="processor">radiusProcessor</param> <!-- Режим работы, RadiusListener.Mode.accounting --> <param name="mode">RadiusListener.Mode.accounting</param> <!-- Передача setup --> <param name="setup">setup</param> <!-- Передача dataLogger --> <param name="dataLogger">radiusDataLogger</param> </constructor> </bean> </context> <!-- 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="8818"/> <!-- Размер буфера приема слушателя --> <param name="recvBufferSize">4 * 1024 * 1024</param> <!-- Рекомендуемый SO_RCVBUF сокета --> <param name="soRCVBUF">512 * 1024</param> <!-- Количество потоков-обработчиков --> <param name="threadCount" value="10"/> <!-- id устройств-источников, если на данном порту нужно получать пакеты только c определенных и сточников --> <param name="agentDeviceIds" value=""/> <!-- id устройств-источников, если на данном порту нужно обрабатывать пакеты только c определенн ых источников --> <param name="processAgentDeviceIds" value=""/> <!-- 1, если нужно запретить сохранять и обрабатывать пакеты, в которых нет записей с IP-адресам и из IP-ресурсов --> <param name="ipResourceFilter" value=""/> <!-- Передача dataLogger --> <param name="dataLogger">flowDataLogger</param> </constructor> </bean> <!-- <bean name="flowListener" class="ru.bitel.bgbilling.modules.inet.collector.InetFlowListener"> <constructor factoryMethod="newInstance"> <param name="type" value="netflow9"/> <param name="host" value=""/> <param name="port" value="9367"/> <param name="recvBufferSize">4 * 1024 * 1024</param> <param name="soRCVBUF">512 * 1024</param> <param name="threadCount" value="8"/> <param name="agentDeviceIds" value="4"/> <param name="dataLogger">flowDataLogger</param> </constructor> </bean> <bean name="flowListener" class="ru.bitel.bgbilling.modules.inet.collector.InetFlowListener"> <constructor factoryMethod="newInstance"> <param name="type" value="netflow"/> <param name="host" value=""/> <param name="port" value="9368"/> <param name="recvBufferSize">4 * 1024 * 1024</param> <param name="soRCVBUF">512 * 1024</param> <param name="threadCount" value="8"/> <param name="agentDeviceIds" value="20"/> <param name="dataLogger">flowDataLogger</param> </constructor> </bean> --> <!-- <bean name="snmpWorker" class="ru.bitel.bgbilling.modules.inet.accounting.InetSnmpWorker"> <constructor> <param name="agentDeviceIds" value="" /> <param name="period" value="30" /> </constructor> </bean> --> <context name="detail"> <!-- Cоздание обработчика flow детализации --> <bean name="detailWorker" class="ru.bitel.bgbilling.modules.inet.accounting.detail.InetDetailWorker"/> </context> </context> </application> OS: Centos 6.5 x86_64 |
Автор: | LёLik [ 03 июл 2014, 20:25 ] |
Заголовок сообщения: | Re: Нет логов Inet |
Вопрос немного не по теме. Если я хочу мониторить udp порт на котором слушается netflow допустим nagios check_udp -H host -p port -s 'send' -e 'expect' Какую строку нужно послать, чтобы accounting отозвался? |
Автор: | LёLik [ 03 июл 2014, 20:57 ] | ||
Заголовок сообщения: | Re: Нет логов Inet | ||
Заменил. MEMORY=-Xmx256m на MEMORY="-Xmx256m -XX:MaxDirectMemorySize=256m" Сыплятся следующие ошибки и ещё много чего во вложении. Код: ==> ./log/error.log <==
collector 07-03/19:04:43 ERROR [flow-p-8-t-3] WorkerTask - Lock wait timeout for ContractRuntime[54]@2060710281 java.lang.RuntimeException: Lock wait timeout for ContractRuntime[54]@2060710281 at ru.bitel.common.util.CheckReentrantLock.lock(CheckReentrantLock.java:46) at ru.bitel.bgbilling.kernel.contract.runtime.ContractRuntime.lock(ContractRuntime.java:104) at ru.bitel.bgbilling.modules.inet.runtime.InetServRuntime.lock(InetServRuntime.java:555) at ru.bitel.bgbilling.modules.inet.accounting.FlowAgentInterface.getConnection(FlowAgentInterface.java:87) at ru.bitel.bgbilling.modules.inet.accounting.FlowAgentInterface.processFlow(FlowAgentInterface.java:147) at ru.bitel.bgbilling.modules.inet.collector.FlowListenerWorker.processPacketImpl0(FlowListenerWorker.java:248) at ru.bitel.bgbilling.modules.inet.collector.FlowListenerWorker.processPacketImpl(FlowListenerWorker.java:141) at ru.bitel.bgbilling.modules.inet.collector.FlowListenerWorkerNetflow.processPacket(FlowListenerWorkerNetflow.java:29) at ru.bitel.bgbilling.modules.inet.collector.FlowListenerWorker.runImpl(FlowListenerWorker.java:58) at ru.bitel.common.worker.WorkerTask.run(WorkerTask.java:86) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918) at java.lang.Thread.run(Thread.java:662) at ru.bitel.common.worker.WorkerThread.run(WorkerThread.java:40) Caused by: java.lang.RuntimeException: OwnerThread: Thread[flow-p-8-t-7,5,main] at sun.misc.Unsafe.park(Native Method) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:196) at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireNanos(AbstractQueuedSynchronizer.java:905) at java.util.concurrent.locks.AbstractQueuedSynchronizer.tryAcquireNanos(AbstractQueuedSynchronizer.java:1224) at java.util.concurrent.locks.ReentrantLock.tryLock(ReentrantLock.java:416) at ru.bitel.common.util.CheckReentrantLock.lock(CheckReentrantLock.java:44) at ru.bitel.bgbilling.kernel.contract.runtime.ContractRuntime.lock(ContractRuntime.java:104) at ru.bitel.bgbilling.kernel.contract.runtime.ContractRuntime.lock(ContractRuntime.java:111) ... 12 more ==> ./log/collector.log <== 07-03/19:04:43 ERROR [flow-p-8-t-3] WorkerTask - Lock wait timeout for ContractRuntime[54]@2060710281 java.lang.RuntimeException: Lock wait timeout for ContractRuntime[54]@2060710281 at ru.bitel.common.util.CheckReentrantLock.lock(CheckReentrantLock.java:46) at ru.bitel.bgbilling.kernel.contract.runtime.ContractRuntime.lock(ContractRuntime.java:104) at ru.bitel.bgbilling.modules.inet.runtime.InetServRuntime.lock(InetServRuntime.java:555) at ru.bitel.bgbilling.modules.inet.accounting.FlowAgentInterface.getConnection(FlowAgentInterface.java:87) at ru.bitel.bgbilling.modules.inet.accounting.FlowAgentInterface.processFlow(FlowAgentInterface.java:147) at ru.bitel.bgbilling.modules.inet.collector.FlowListenerWorker.processPacketImpl0(FlowListenerWorker.java:248) at ru.bitel.bgbilling.modules.inet.collector.FlowListenerWorker.processPacketImpl(FlowListenerWorker.java:141) at ru.bitel.bgbilling.modules.inet.collector.FlowListenerWorkerNetflow.processPacket(FlowListenerWorkerNetflow.java:29) at ru.bitel.bgbilling.modules.inet.collector.FlowListenerWorker.runImpl(FlowListenerWorker.java:58) at ru.bitel.common.worker.WorkerTask.run(WorkerTask.java:86) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918) at java.lang.Thread.run(Thread.java:662) at ru.bitel.common.worker.WorkerThread.run(WorkerThread.java:40) Caused by: java.lang.RuntimeException: OwnerThread: Thread[flow-p-8-t-7,5,main] at sun.misc.Unsafe.park(Native Method) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:196) at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireNanos(AbstractQueuedSynchronizer.java:905) at java.util.concurrent.locks.AbstractQueuedSynchronizer.tryAcquireNanos(AbstractQueuedSynchronizer.java:1224) at java.util.concurrent.locks.ReentrantLock.tryLock(ReentrantLock.java:416) at ru.bitel.common.util.CheckReentrantLock.lock(CheckReentrantLock.java:44) at ru.bitel.bgbilling.kernel.contract.runtime.ContractRuntime.lock(ContractRuntime.java:104) at ru.bitel.bgbilling.kernel.contract.runtime.ContractRuntime.lock(ContractRuntime.java:111) ... 12 more
|
Автор: | stark [ 04 июл 2014, 10:09 ] |
Заголовок сообщения: | Re: Нет логов Inet |
1. Проверьте activemq. http://wiki.bitel.ru/index.php/Inet_FAQ ... 0.B5.D1.82 и http://wiki.bitel.ru/index.php/Inet_FAQ ... 0.B8.D1.8F 2. Проверьте mysql. Посмотрите что выводит команда "show processlist" 3. Надо снять несколько раз jstack с процесса accounting-а и сохранить результаты. http://wiki.bitel.ru/index.php/%D0%92%D ... 0%B8%D0%B9 |
Автор: | stark [ 04 июл 2014, 14:47 ] |
Заголовок сообщения: | Re: Нет логов Inet |
Я ответил вам в личку. |
Автор: | stark [ 04 июл 2014, 14:47 ] |
Заголовок сообщения: | Re: Нет логов Inet |
И еще вам обновится желательно. Старые версии у вас. |
Автор: | Amir [ 04 июл 2014, 18:14 ] |
Заголовок сообщения: | Re: Нет логов Inet |
В url подключений к БД (например, inet-access.xml inet-accounting.xml) рекомендую поменять connectTimeout=1000 на connectTimeout=5000. |
Автор: | LёLik [ 04 июл 2014, 19:41 ] |
Заголовок сообщения: | Re: Нет логов Inet (CRM) |
Поменял таймауты, в логах ничего криминального не заметил. 07-04/17:39:42 INFO [accwrkr-1-p-13-t-1] connection - 15483:19557 Found error 62 я так понимаю ошибка отсутствия тарифа на договоре. Спасибо за помощь! |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |