forum.bitel.ru http://forum.bitel.ru/ |
|
[6.0] Inet flowExport - память. (CRM) http://forum.bitel.ru/viewtopic.php?f=44&t=8669 |
Страница 1 из 1 |
Автор: | nik247 [ 11 ноя 2013, 20:21 ] |
Заголовок сообщения: | [6.0] Inet flowExport - память. |
Пришел запрос от "ребят" на попытку взлома с моих IP. Так, как получилось, что данный src IP сидит за NAT - надо вытягивать данные с "flow" архива. Поскольку flow собираются, потом архивируются на длительное хранение - достаю архив (4GB) и раскатываю на штатное место, а дальше начинаются чудеса.... Штатно в accounting.sh MEMORY=-Xmx512m работает без проблем долгое время... Запускаю ./accounting.sh flowExport -s 2 -h 2013-10-17-22 -tFmt "dd.MM.yyyy HH:mm:ss" -f flows.csv В течении минуты в логах начинается.... Код: collector 11-11/14:18:05 ERROR [flow-p-10-t-6] WorkerTask - GC overhead limit exceeded java.lang.OutOfMemoryError: GC overhead limit exceeded at ru.bitel.bgbilling.modules.inet.accounting.ip.ConnectionRangeSet.get(ConnectionRangeSet.java:82) at ru.bitel.bgbilling.modules.inet.accounting.ip.HourlyAutoConnectionSet.getSession(HourlyAutoConnectionSet.java:305) at ru.bitel.bgbilling.modules.inet.accounting.FlowAgentInterface.getConnection(FlowAgentInterface.java:92) at ru.bitel.bgbilling.modules.inet.accounting.FlowAgentInterface.processFlow(FlowAgentInterface.java:157) 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) accounting 11-11/14:18:05 ERROR [accwrkr-2-p-13-t-1] SessionFlushingWorker - GC overhead limit exceeded java.lang.OutOfMemoryError: GC overhead limit exceeded at com.mysql.jdbc.ResultSetImpl.getInstance(ResultSetImpl.java:355) at com.mysql.jdbc.MysqlIO.buildResultSetWithUpdates(MysqlIO.java:2723) at com.mysql.jdbc.MysqlIO.readResultsForQueryOrUpdate(MysqlIO.java:2611) at com.mysql.jdbc.MysqlIO.readAllResults(MysqlIO.java:1800) at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2221) at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2624) at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2127) at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2427) at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2345) at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2330) at org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:105) at ru.bitel.bgbilling.modules.inet.accounting.SessionFlushingManager.flushDelta(SessionFlushingManager.java:468) at ru.bitel.bgbilling.modules.inet.accounting.SessionFlushingManager.flush(SessionFlushingManager.java:274) at ru.bitel.bgbilling.modules.inet.accounting.worker.SessionFlushingWorker.runImpl(SessionFlushingWorker.java:141) at ru.bitel.common.worker.WorkerTask.run(WorkerTask.java:86) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439) at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317) at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:180) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:204) 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) Код: java.lang.OutOfMemoryError: Java heap space Потом начинается: 11-11/14:53:34 WARN [Low Memory Detector] AlarmSender - Low memory accounting 11-11/14:18:05 ERROR [InetRadiusListener] RadiusListener - RadiusListener accounting queue is full! accounting 11-11/14:18:05 ERROR [InetRadiusListener] RadiusListener - RadiusListener accounting queue is full! Алармы на почту о "Нехватке памяти"... Начинаем увеличивать MEMORY=-Xmx512m, при этом каждый раз перезапуская accounting. -MEMORY=-Xmx1024m - ничего не изменилось - не работает. -MEMORY=-Xmx2048m - остались только "WARN [Low Memory Detector] AlarmSender - Low memory" - не работает. -MEMORY=-Xmx3072m - остались только "WARN [Low Memory Detector] AlarmSender - Low memory" - не работает. -MEMORY=-Xmx4096m - остались только "WARN [Low Memory Detector] AlarmSender - Low memory" - не работает. -MEMORY=-Xmx5000m - остались только "WARN [Low Memory Detector] AlarmSender - Low memory" - не работает. -MEMORY=-Xmx6000m - остались только "WARN [Low Memory Detector] AlarmSender - Low memory" - не работает. При этом приходилось inet-accounting прибивать через kill -9 - иначе никак не рестартовал.... Решил попробовать хоть какие-то логи получить.... Итого только при -MEMORY=-Xmx3072m смог получить лог за 1 час вчера (-h 2013-11-10-22 -tFmt "dd.MM.yyyy HH:mm:ss") Ув. разработчики, как таки логи то получить? И наболевший вопрос, может таки сделаете независимый от BGBilling екстрактор логов с формата "bgdl"? Информация о версии: Клиент: вер. 6.0 сборка 1247 от 02.10.2013 18:21:57 os: Windows XP; java: Java HotSpot(TM) Client VM, v.1.6.0_43 Сервер: вер. 6.0 сборка 1593 от 02.10.2013 19:49:54 os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.6.0_45 bill вер. 6.0 сборка 330 от 02.10.2013 19:11:51 card вер. 6.0 сборка 218 от 03.09.2013 18:56:25 inet вер. 6.0 сборка 1244 от 02.10.2013 19:49:53 |
Автор: | nik247 [ 11 ноя 2013, 21:59 ] |
Заголовок сообщения: | Re: [6.0] Inet flowExport - память. |
Отвечаю сам себе... Результаты доп.попыток дали след. результаты: 1) результат export-а должен вместиться в свободную память accounting. Если ее не хватит - будет жесть - все ляжет. 2) поэтому - нужно ОБЯЗАТЕЛЬНО указывать "-r - IP адрес/диапазон IP-адресов", и начинать с меньшего диапазона времени через "-tFrom 2013-10-17T22:00:00 -tTo 2013-10-17T22:10:00" 3) при уточнении результата получилось экспортировать детализацию при базовом MEMORY=-Xmx512m. Просьба по flowExport: 1) добавьте номера протоколов в экспорте. 2) сделать FromIface,ToIface в выводе опционально - для уменьшения размеров логов в памяти. 3) по возможности сделать таки "независимый от BGBilling" экстрактор логов с формата "bgdl". |
Автор: | nik247 [ 11 ноя 2013, 22:47 ] |
Заголовок сообщения: | Re: [6.0] Inet flowExport - память. |
Продолжение истории.. 1) установил штатный для accounting MEMORY=-Xmx512m. 2) решил через BG client сохранить детализацию нарушителя - сессия 1ч 40м - трафика около 8ГБ . Результат через минуту: -куча алармов о нехватке памяти на почту и в логах... -потеря связки с БД.. итого - ручной рестарт accounting. 3) поднял MEMORY=-Xmx1024m. 4) запустил получение детализации для той же сессии. Результат: -только варнинги WARN [Low Memory Detector] AlarmSender, но детализацию таки сохранил через 4 минуты. Код: 11-11/18:14:52 INFO [detail-worker] FlowDetailMaker - Creating session detail for inetServ:291:inet:50245 from 17.10.2013 21:29:10 11-11/18:15:20 WARN [Low Memory Detector] AlarmSender - Low memory - used=656089544, max=954466304 11-11/18:15:25 WARN [Low Memory Detector] AlarmSender - Low memory - used=661005432, max=954466304 11-11/18:15:28 WARN [Low Memory Detector] AlarmSender - Low memory - used=660918688, max=954466304 11-11/18:15:32 WARN [Low Memory Detector] AlarmSender - Low memory - used=660774608, max=954466304 11-11/18:15:35 WARN [Low Memory Detector] AlarmSender - Low memory - used=658522248, max=954466304 11-11/18:15:39 WARN [Low Memory Detector] AlarmSender - Low memory - used=660471072, max=954466304 11-11/18:15:43 WARN [Low Memory Detector] AlarmSender - Low memory - used=658229088, max=954466304 11-11/18:15:46 WARN [Low Memory Detector] AlarmSender - Low memory - used=658212664, max=954466304 11-11/18:15:55 WARN [Low Memory Detector] AlarmSender - Low memory - used=665430752, max=954466304 11-11/18:15:59 WARN [Low Memory Detector] AlarmSender - Low memory - used=663761760, max=954466304 11-11/18:16:03 WARN [Low Memory Detector] AlarmSender - Low memory - used=663828464, max=954466304 11-11/18:16:06 WARN [Low Memory Detector] AlarmSender - Low memory - used=663929704, max=954466304 11-11/18:16:10 WARN [Low Memory Detector] AlarmSender - Low memory - used=663986968, max=954466304 11-11/18:16:14 WARN [Low Memory Detector] AlarmSender - Low memory - used=663807720, max=954466304 11-11/18:16:17 WARN [Low Memory Detector] AlarmSender - Low memory - used=663840792, max=954466304 11-11/18:16:21 WARN [Low Memory Detector] AlarmSender - Low memory - used=663867176, max=954466304 11-11/18:16:24 WARN [Low Memory Detector] AlarmSender - Low memory - used=664168272, max=954466304 11-11/18:16:28 WARN [Low Memory Detector] AlarmSender - Low memory - used=663818712, max=954466304 11-11/18:16:32 WARN [Low Memory Detector] AlarmSender - Low memory - used=663897000, max=954466304 11-11/18:16:35 WARN [Low Memory Detector] AlarmSender - Low memory - used=661581168, max=954466304 11-11/18:16:38 WARN [Low Memory Detector] AlarmSender - Low memory - used=664580080, max=954466304 11-11/18:16:43 WARN [Low Memory Detector] AlarmSender - Low memory - used=663834432, max=954466304 11-11/18:16:50 WARN [Low Memory Detector] AlarmSender - Low memory - used=665796256, max=954466304 11-11/18:16:54 WARN [Low Memory Detector] AlarmSender - Low memory - used=668066008, max=954466304 11-11/18:16:57 WARN [Low Memory Detector] AlarmSender - Low memory - used=667864680, max=954466304 11-11/18:17:01 WARN [Low Memory Detector] AlarmSender - Low memory - used=664342832, max=954466304 11-11/18:17:05 WARN [Low Memory Detector] AlarmSender - Low memory - used=663963064, max=954466304 11-11/18:17:08 WARN [Low Memory Detector] AlarmSender - Low memory - used=663989664, max=954466304 11-11/18:17:11 WARN [Low Memory Detector] AlarmSender - Low memory - used=664086544, max=954466304 11-11/18:17:16 WARN [Low Memory Detector] AlarmSender - Low memory - used=663885160, max=954466304 11-11/18:17:19 WARN [Low Memory Detector] AlarmSender - Low memory - used=663942064, max=954466304 11-11/18:17:22 WARN [Low Memory Detector] AlarmSender - Low memory - used=664003496, max=954466304 11-11/18:17:26 WARN [Low Memory Detector] AlarmSender - Low memory - used=664066912, max=954466304 11-11/18:17:30 WARN [Low Memory Detector] AlarmSender - Low memory - used=663970488, max=954466304 11-11/18:17:34 WARN [Low Memory Detector] AlarmSender - Low memory - used=664012736, max=954466304 11-11/18:17:40 WARN [Low Memory Detector] AlarmSender - Low memory - used=664024648, max=954466304 11-11/18:17:43 WARN [Low Memory Detector] AlarmSender - Low memory - used=664096392, max=954466304 11-11/18:17:47 WARN [Low Memory Detector] AlarmSender - Low memory - used=660614160, max=954466304 11-11/18:17:51 WARN [Low Memory Detector] AlarmSender - Low memory - used=660626536, max=954466304 11-11/18:17:54 WARN [Low Memory Detector] AlarmSender - Low memory - used=660768824, max=954466304 11-11/18:17:57 WARN [Low Memory Detector] AlarmSender - Low memory - used=660830072, max=954466304 11-11/18:18:02 WARN [Low Memory Detector] AlarmSender - Low memory - used=660644536, max=954466304 11-11/18:18:05 WARN [Low Memory Detector] AlarmSender - Low memory - used=660778864, max=954466304 11-11/18:18:08 WARN [Low Memory Detector] AlarmSender - Low memory - used=660788928, max=954466304 11-11/18:18:12 WARN [Low Memory Detector] AlarmSender - Low memory - used=660850776, max=954466304 11-11/18:18:20 INFO [detail-worker] FlowDetailMaker - Memory total: 954 466 304; max: 954 466 304; free: 243 363 456 Memory pools: Non-heap memory[Code Cache]: max: 50 331 648; used: 4 179 392; peek: 4 189 504 Heap memory[PS Eden Space]: max: 119 341 056; used: 52 620 576; peek: 210 305 024 Heap memory[PS Survivor Space]: max: 119 275 520; used: 0; peek: 119 275 520 Heap memory[PS Old Gen]: max: 715 849 728; used: 658 482 272; peek: 665 554 032 Non-heap memory[PS Perm Gen]: max: 85 983 232; used: 41 185 216; peek: 41 185 216 Thread count: 55 11-11/18:18:20 INFO [detail-worker] FlowDetailMaker - Detail created and sended by 208327, sending to null А если запросить детализацию не за сессию, а за сутки (как дает клиент биллинга - выбора времени нету - только дни)? Сколько памяти надо выделять? Может оптимизируете как-то использование памяти при получении детализации? |
Автор: | ok-2004 [ 12 ноя 2013, 14:11 ] |
Заголовок сообщения: | Re: [6.0] Inet flowExport - память. |
Поддерживаю идею за независимый от BGInetAccounting flow-exporter. У меня логи flow-listenera ваще не отдельной тачке хранятся с БальшимПрибальшим винтом и желания ставить на неё отдельный экземплял BGinetAccounting нет никакого. Вот если-б была ( как в старые добрые времена ) - возможность работы БЖБ с файликами от flow-capture - и небо голубее сразу стало-бы, и трава - зеленее. ![]() |
Автор: | Amir [ 12 ноя 2013, 14:52 ] |
Заголовок сообщения: | Re: [6.0] Inet flowExport - память. |
Отдельно от Accounting, но GUI, а командной строкой аналогично flowExport - быстро можем сделать. Цитата: Результат: В результате был html файл? Был ли в нем анализ с группировкой по IP и сортировкой по размеру трафика?-только варнинги WARN [Low Memory Detector] AlarmSender, но детализацию таки сохранил через 4 минуты. Цитата: Вот если-б была ( как в старые добрые времена ) - возможность работы БЖБ с файликами от flow-capture - и небо голубее сразу стало-бы, и трава - зеленее. Inet, так же как и Dialup, и IPN, поддерживает формат flow-tools без конвертирования в старый формат IPN-логов.
|
Автор: | ok-2004 [ 12 ноя 2013, 15:15 ] |
Заголовок сообщения: | Re: [6.0] Inet flowExport - память. |
1. Цитата: Отдельно от Accounting, но GUI, а командной строкой аналогично flowExport - быстро можем сделать. Не уловил всей глубины Вашей мысли, а гуй-то зачем ? С детства испытывая странное но сильное желание скриптовать всё что шевелится - не могу представить как можно автоматизировать что-нибудь с ГУЙем гуманойдным способом. 2. Цитата: Inet, так же как и Dialup, и IPN, поддерживает формат flow-tools без конвертирования в старый формат IPN-логов. - это Вы по мотивам [url] viewtopic.php?f=44&t=8028 [/url] ? Так это скока ещё ждать-то.... |
Автор: | Amir [ 12 ноя 2013, 16:17 ] |
Заголовок сообщения: | Re: [6.0] Inet flowExport - память. |
1. Просили ранее на форуме, по-моему, специально для "ребят". 2. Это если задним числом полностью переобрабатывать. Если же Accounting принимал RADIUS и/или Netflow и создавал сессии, то можно для детализации или переобработки без пересоздания сессий использовать логи flow-capture. |
Автор: | nik247 [ 12 ноя 2013, 17:59 ] |
Заголовок сообщения: | Re: [6.0] Inet flowExport - память. |
Amir писал(а): Отдельно от Accounting, но GUI, а командной строкой аналогично flowExport - быстро можем сделать. Наверное имелось ввиду "без" GUI? Ведь он совсем не нужен. Главное, что бы была возможность экспорта детализации за пределами Accounting - иначе имеем очень плохие последствия на его функционирование. Пожелания для командной утилиты: 1) желательно кроссплатформенная с открытым кодом. 2) добавить сохранение номера протокола. 3) сделать FromIface,ToIface в выводе опционально - для уменьшения размеров логов в памяти. 4) поддержка import/export из/в bgdl/flow-tools Пожелания для "accounting.sh flowExport": 1) добавить сохранение номера протокола 2) сделать FromIface,ToIface в выводе опционально - для уменьшения размеров логов в памяти. 3) оптимизировать работу с памятью 4) добавить в "accounting.sh help" информацию о возможности формирования Timestamp -tFmt "dd.MM.yyyy HH:mm:ss" Amir писал(а): Результат: -только варнинги WARN [Low Memory Detector] AlarmSender, но детализацию таки сохранил через 4 минуты. Цитата: В результате был html файл? Был ли в нем анализ с группировкой по IP и сортировкой по размеру трафика? Да все создалось - 291_inet:50245_20131017T212910-20131017T234015.zip - 13844k. detail.csv │181550K│Nov 12 12:31│ detail.html │1101318│Nov 12 12:33│ detail.png │ 10101│Nov 12 12:33│ info.txt │ 140│Nov 12 12:33│ Обновился сегодня ночью, так как увидел, что были внесены изменения: Код: 1621 11.11.2013 19:46:47 ИСПРАВЛЕНО Inet: Неправильная сортировка в таблице анализа детализации по трафику. 1621 11.11.2013 19:46:47 ИСПРАВЛЕНО Inet: Более частый сброс flow-логов на диск при запросе детализации. Не очень понятно, что изменили, да и разницы не заметил. Повторил процесс сохранения вчерашних сессий с клиента: -MEMORY=-Xmx512m: 1) сессия 2ч11м трафика 8GB: - результат печальный. - старт сохранения детализации - через 20 сек. "Low memory" - потом 90 сек accounting признаков жизни не подавал (ничего в логи не писалось) - потом куча ошибок в error.log - результат пустой файл 291_inet:50245_20131017T212910-20131017T234015.zip.tmp - accounting вернулся в нормальный режим работы. detail.log Код: 11-12/12:52:50 INFO [detail-worker] FlowDetailMaker - Memory total: 342 228 992; max: 477 233 152; free: 231 054 952 Memory pools: Non-heap memory[Code Cache]: max: 50 331 648; used: 3 176 640; peek: 3 186 624 Heap memory[PS Eden Space]: max: 157 155 328; used: 93 340 656; peek: 130 678 784 Heap memory[PS Survivor Space]: max: 10 878 976; used: 10 856 576; peek: 10 856 576 Heap memory[PS Old Gen]: max: 357 957 632; used: 6 976 808; peek: 6 976 808 Non-heap memory[PS Perm Gen]: max: 85 983 232; used: 33 794 104; peek: 33 794 104 Thread count: 51 11-12/12:52:50 INFO [detail-worker] FlowDetailMaker - Creating session detail for inetServ:291:inet:50245 from 17.10.2013 21:29:10 11-12/12:53:08 WARN [Low Memory Detector] AlarmSender - Low memory - used=347573520, max=477233152 11-12/12:53:11 WARN [Low Memory Detector] AlarmSender - Low memory - used=373080736, max=477233152 11-12/12:53:13 WARN [Low Memory Detector] AlarmSender - Low memory - used=408497760, max=477233152 11-12/12:54:33 ERROR [detail-worker] EventWorker - class ru.bitel.bgbilling.modules.inet.accounting.detail.InetDetailWorker: GC overhead limit exceeded java.lang.OutOfMemoryError: GC overhead limit exceeded 11-12/12:54:33 INFO [detail-worker] EventWorker - Execution error - waiting 60000ms for next try. 11-12/12:54:39 ERROR [Thread-11] ALARM - [BGInetAccounting] ID события: system.no.memory error.log Код: accounting 11-12/12:53:13 ERROR [Thread-11] ALARM - [BGInetAccounting] ID события: system.no.memory Время регистрации события: 12.11.2013 12:53:08 Хост сервера: bg.server/192.168.252.25 Приложению недостаточно выделенной для него памяти! Зарезервировано 477233152 из 477233152 (максимум) байтов памяти. Сейчас свободно: 128065600 байтов. Необходимо выделить большее количество памяти приложению. radius 11-12/12:54:33 ERROR [rdsLstnr-p-8-t-10] WorkerTask - GC overhead limit exceeded java.lang.OutOfMemoryError: GC overhead limit exceeded at java.util.HashMap.<init>(HashMap.java:209) at ru.bitel.bgbilling.kernel.network.radius.RadiusPacket.parse(RadiusPacket.java:339) at ru.bitel.bgbilling.kernel.network.radius.RadiusPacket.parse(RadiusPacket.java:317) at ru.bitel.bgbilling.kernel.network.radius.RadiusListenerWorker.processPacket(RadiusListenerWorker.java:146) at ru.bitel.bgbilling.kernel.network.radius.RadiusListenerWorker.runImpl(RadiusListenerWorker.java:135) 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) detail 11-12/12:54:33 ERROR [detail-worker] EventWorker - class ru.bitel.bgbilling.modules.inet.accounting.detail.InetDetailWorker: GC overhead limit exceede java.lang.OutOfMemoryError: GC overhead limit exceeded accounting 11-12/12:54:33 ERROR [accwrkr-1-p-14-t-1] WorkerTask - GC overhead limit exceeded java.lang.OutOfMemoryError: GC overhead limit exceeded accounting 11-12/12:54:33 ERROR [accwrkr-2-p-13-t-1] WorkerTask - Java heap space java.lang.OutOfMemoryError: Java heap space at java.util.Hashtable.put(Hashtable.java:420) at java.util.Properties.enumerate(Properties.java:1061) at java.util.Properties.propertyNames(Properties.java:971) at com.mysql.jdbc.StatementImpl$CancelTask.<init>(StatementImpl.java:93) at com.mysql.jdbc.StatementImpl.executeQuery(StatementImpl.java:1498) at org.apache.commons.dbcp.DelegatingStatement.executeQuery(DelegatingStatement.java:208) at org.apache.commons.dbcp.PoolableConnectionFactory.validateConnection(PoolableConnectionFactory.java:658) at org.apache.commons.dbcp.PoolableConnectionFactory.validateObject(PoolableConnectionFactory.java:635) at org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:1205) at ru.bitel.bgbilling.server.util.DatabaseConnectionPool$1.getConnection(DatabaseConnectionPool.java:30) at ru.bitel.bgbilling.server.util.DefaultServerSetup.getDBConnectionFromPool(DefaultServerSetup.java:572) at ru.bitel.bgbilling.modules.inet.accounting.worker.SessionFlushingWorker.runImpl(SessionFlushingWorker.java:94) at ru.bitel.common.worker.WorkerTask.run(WorkerTask.java:86) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439) at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317) at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:180) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:204) 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) 11-12/12:54:39 ERROR [Thread-11] ALARM - [BGInetAccounting] ID события: system.no.memory вторую сессию (11ч.-45GB трафика) даже не пытался пробовать. -MEMORY=-Xmx1024m: 1) сессия 2ч11м трафика 8GB: - файл сохранился. - старт сохранения детализации - через 30 сек. начались валить "Low memory" - через 3мин. нормально сохранился файл 291_inet:50245_20131017T212910-20131017T234015.zip - 13844K - работы accounting не нарушалась во времяя сохранения детализации. detail.log Код: 11-12/13:15:19 INFO [detail-worker] FlowDetailMaker - Creating session detail for inetServ:291:inet:50245 from 17.10.2013 21:29:10 11-12/13:15:47 WARN [Low Memory Detector] AlarmSender - Low memory - used=654245792, max=954466304 11-12/13:15:52 WARN [Low Memory Detector] AlarmSender - Low memory - used=662021480, max=954466304 11-12/13:15:55 WARN [Low Memory Detector] AlarmSender - Low memory - used=658922864, max=954466304 11-12/13:15:58 WARN [Low Memory Detector] AlarmSender - Low memory - used=658650936, max=954466304 11-12/13:16:02 WARN [Low Memory Detector] AlarmSender - Low memory - used=660772312, max=954466304 11-12/13:16:06 WARN [Low Memory Detector] AlarmSender - Low memory - used=658318616, max=954466304 11-12/13:16:09 WARN [Low Memory Detector] AlarmSender - Low memory - used=660711208, max=954466304 11-12/13:16:13 WARN [Low Memory Detector] AlarmSender - Low memory - used=660695776, max=954466304 11-12/13:16:22 WARN [Low Memory Detector] AlarmSender - Low memory - used=665628904, max=954466304 11-12/13:16:28 WARN [Low Memory Detector] AlarmSender - Low memory - used=661597816, max=954466304 11-12/13:16:28 WARN [Low Memory Detector] AlarmSender - Low memory - used=663930728, max=954466304 11-12/13:16:28 ERROR [Thread-11] ALARM - [BGInetAccounting] ID события: system.no.memory Время регистрации события: 12.11.2013 13:16:22 Хост сервера: bg.server/192.168.252.25 Приложению недостаточно выделенной для него памяти! Зарезервировано 954466304 из 954466304 (максимум) байтов памяти. Сейчас свободно: 288837400 байтов. Необходимо выделить большее количество памяти приложению. 11-12/13:16:31 WARN [Low Memory Detector] AlarmSender - Low memory - used=662149784, max=954466304 11-12/13:16:35 WARN [Low Memory Detector] AlarmSender - Low memory - used=664046560, max=954466304 11-12/13:16:39 WARN [Low Memory Detector] AlarmSender - Low memory - used=661622984, max=954466304 11-12/13:16:43 WARN [Low Memory Detector] AlarmSender - Low memory - used=661630576, max=954466304 11-12/13:16:46 WARN [Low Memory Detector] AlarmSender - Low memory - used=664003480, max=954466304 11-12/13:16:49 WARN [Low Memory Detector] AlarmSender - Low memory - used=664054192, max=954466304 11-12/13:16:54 WARN [Low Memory Detector] AlarmSender - Low memory - used=661624040, max=954466304 11-12/13:16:57 WARN [Low Memory Detector] AlarmSender - Low memory - used=664744976, max=954466304 11-12/13:16:58 ERROR [Thread-11] ALARM - [BGInetAccounting] ID события: system.no.memory Время регистрации события: 12.11.2013 13:16:54 Хост сервера: bg.server/192.168.252.25 Приложению недостаточно выделенной для него памяти! Зарезервировано 954466304 из 954466304 (максимум) байтов памяти. Сейчас свободно: 292831728 байтов. Необходимо выделить большее количество памяти приложению. 11-12/13:17:00 WARN [Low Memory Detector] AlarmSender - Low memory - used=661804888, max=954466304 11-12/13:17:04 WARN [Low Memory Detector] AlarmSender - Low memory - used=664702264, max=954466304 11-12/13:17:08 WARN [Low Memory Detector] AlarmSender - Low memory - used=661714232, max=954466304 11-12/13:17:11 WARN [Low Memory Detector] AlarmSender - Low memory - used=664083576, max=954466304 11-12/13:17:19 WARN [Low Memory Detector] AlarmSender - Low memory - used=665766040, max=954466304 11-12/13:17:22 WARN [Low Memory Detector] AlarmSender - Low memory - used=665774336, max=954466304 11-12/13:17:26 WARN [Low Memory Detector] AlarmSender - Low memory - used=661762528, max=954466304 11-12/13:17:30 WARN [Low Memory Detector] AlarmSender - Low memory - used=661894440, max=954466304 11-12/13:17:31 ERROR [Thread-11] ALARM - [BGInetAccounting] ID события: system.no.memory Время регистрации события: 12.11.2013 13:17:26 Хост сервера: bg.server/192.168.252.25 Приложению недостаточно выделенной для него памяти! Зарезервировано 954466304 из 954466304 (максимум) байтов памяти. Сейчас свободно: 292703416 байтов. Необходимо выделить большее количество памяти приложению. 11-12/13:17:33 WARN [Low Memory Detector] AlarmSender - Low memory - used=661903112, max=954466304 11-12/13:17:36 WARN [Low Memory Detector] AlarmSender - Low memory - used=662462704, max=954466304 11-12/13:17:41 WARN [Low Memory Detector] AlarmSender - Low memory - used=664119240, max=954466304 11-12/13:17:44 WARN [Low Memory Detector] AlarmSender - Low memory - used=664150472, max=954466304 11-12/13:17:47 WARN [Low Memory Detector] AlarmSender - Low memory - used=661832256, max=954466304 11-12/13:17:51 WARN [Low Memory Detector] AlarmSender - Low memory - used=661903456, max=954466304 11-12/13:17:54 WARN [Low Memory Detector] AlarmSender - Low memory - used=664193072, max=954466304 11-12/13:17:58 WARN [Low Memory Detector] AlarmSender - Low memory - used=664215048, max=954466304 11-12/13:18:01 WARN [Low Memory Detector] AlarmSender - Low memory - used=664265856, max=954466304 11-12/13:18:07 WARN [Low Memory Detector] AlarmSender - Low memory - used=664301256, max=954466304 11-12/13:18:07 ERROR [Thread-11] ALARM - [BGInetAccounting] ID события: system.no.memory Время регистрации события: 12.11.2013 13:17:58 Хост сервера: bg.server/192.168.252.25 Приложению недостаточно выделенной для него памяти! Зарезервировано 954466304 из 954466304 (максимум) байтов памяти. Сейчас свободно: 290250896 байтов. Необходимо выделить большее количество памяти приложению. 11-12/13:18:11 WARN [Low Memory Detector] AlarmSender - Low memory - used=660841376, max=954466304 11-12/13:18:14 WARN [Low Memory Detector] AlarmSender - Low memory - used=658506928, max=954466304 11-12/13:18:18 WARN [Low Memory Detector] AlarmSender - Low memory - used=660874240, max=954466304 11-12/13:18:21 WARN [Low Memory Detector] AlarmSender - Low memory - used=660931168, max=954466304 11-12/13:18:25 WARN [Low Memory Detector] AlarmSender - Low memory - used=660836176, max=954466304 11-12/13:18:29 WARN [Low Memory Detector] AlarmSender - Low memory - used=658485728, max=954466304 11-12/13:18:32 WARN [Low Memory Detector] AlarmSender - Low memory - used=661033040, max=954466304 11-12/13:18:35 WARN [Low Memory Detector] AlarmSender - Low memory - used=661389424, max=954466304 11-12/13:18:36 ERROR [Thread-11] ALARM - [BGInetAccounting] ID события: system.no.memory Время регистрации события: 12.11.2013 13:18:29 Хост сервера: bg.server/192.168.252.25 Приложению недостаточно выделенной для него памяти! Зарезервировано 954466304 из 954466304 (максимум) байтов памяти. Сейчас свободно: 295829096 байтов. Необходимо выделить большее количество памяти приложению. 11-12/13:18:42 WARN [Low Memory Detector] AlarmSender - Low memory - used=668455904, max=954466304 11-12/13:18:47 INFO [detail-worker] FlowDetailMaker - Memory total: 954 466 304; max: 954 466 304; free: 250 239 736 Memory pools: Non-heap memory[Code Cache]: max: 50 331 648; used: 4 436 736; peek: 4 446 848 Heap memory[PS Eden Space]: max: 119 341 056; used: 38 136 032; peek: 206 241 792 Heap memory[PS Survivor Space]: max: 119 275 520; used: 0; peek: 119 242 752 Heap memory[PS Old Gen]: max: 715 849 728; used: 666 090 536; peek: 666 090 536 Non-heap memory[PS Perm Gen]: max: 85 983 232; used: 41 272 032; peek: 41 272 032 Thread count: 56 11-12/13:18:47 INFO [detail-worker] FlowDetailMaker - Detail created and sended by 207672, sending to null На большей сессии я думаю accounting снова помрет... Итого: Что же делать с детализацией с клиента? Что же делать с детализацией с кабинета? Я пока у себя в inet.xsl вырезал код, дающий сохранение детализации. |
Автор: | nik247 [ 15 ноя 2013, 20:22 ] |
Заголовок сообщения: | Re: [6.0] Inet flowExport - память. (CRM) |
UP |
Автор: | nik247 [ 21 ноя 2013, 21:46 ] |
Заголовок сообщения: | Re: [6.0] Inet flowExport - память. (CRM) |
Сегодня появились подвижки по вопросу... Код: 1636 21.11.2013 20:45:55 ДОБАВЛЕНО Inet: Возможность запустить динамический класс внутри Access/Accounting из командной строки (dynClassRun dyn.class.Name arg0 arg1). 1636 21.11.2013 20:45:55 ИСПРАВЛЕНО Inet: При большом кол-ве выгружаемых данных во flow-логов потреблялось много памяти. 1636 21.11.2013 20:45:55 ДОБАВЛЕНО Inet: Возможность запустить выгрузку flow-логов отдельно java -cp lib/app/*:lib/ext/* ru.bitel.bgbilling.modules.inet.accounting.detail.FlowExport (далее агрументы аналогично команде flowExport). 1636 21.11.2013 20:45:55 ДОБАВЛЕНО Inet: Динамический класс ru.bitel.bgbilling.modules.inet.dyn.accounting.detail.FlowExport (accounting.sh dynClassRun ru.bitel.bgbilling.modules.inet.dyn.accounting.detail.FlowExport -s 1 -h 2013-11-20-13). Можете прокомментировать пож-ста? |
Автор: | Amir [ 22 ноя 2013, 01:44 ] |
Заголовок сообщения: | Re: [6.0] Inet flowExport - память. (CRM) |
Да, выложили. Теперь не должно памяти столько тратить. Можно отдельно запустить как java-приложение, указав в classpath библиотеки сервера: Код: java -cp lib/app/*:lib/ext/* ru.bitel.bgbilling.modules.inet.accounting.detail.FlowExport -s 1 -h 2013-11-20-13 Добавили копию этого класса в динамический код, его можно использовать отдельно - скопировать, изменить, скомпилировать через javac. Можно использовать прямо из динамического кода, но это уже только внутри приложения (т.е. не отдельным процессом): Код: accounting.sh dynClassRun ru.bitel.bgbilling.modules.inet.dyn.accounting.detail.FlowExport -s 1 -h 2013-11-20-13
|
Автор: | snark [ 22 ноя 2013, 13:16 ] |
Заголовок сообщения: | Re: [6.0] Inet flowExport - память. (CRM) |
nik247 писал(а): Amir писал(а): Отдельно от Accounting, но GUI, а командной строкой аналогично flowExport - быстро можем сделать. Наверное имелось ввиду "без" GUI? Ведь он совсем не нужен. GUI нужен, т.к. он позволит отвечать на запросы даже секретарше, а не только админу, как в случае с ком. строкой. |
Автор: | ok-2004 [ 08 фев 2014, 08:53 ] |
Заголовок сообщения: | Re: [6.0] Inet flowExport - память. (CRM) |
Попробывал запуск "снаружи" приложения: Код: ${JAVA_HOME}/bin/java -cp lib/app/*:lib/ext/* ru.bitel.bgbilling.modules.inet.accounting.detail.FlowExport -s 2 -h 2014-02-03-00 -f 2014-02-03-00.csv Ругалось вот так: Код: Exception in thread "main" ru.bitel.bgbilling.common.BGException: Parameter -dir must not be empty. at ru.bitel.bgbilling.modules.inet.accounting.detail.FlowExport.export(FlowExport.java:172) at ru.bitel.bgbilling.modules.inet.accounting.detail.FlowExport.main(FlowExport.java:46) Подобрал методом тыка, что всё работатет если добавить в строку запуска " -dir data/flow". Может стоит этот ключ отразить где нибудь. в доке ? P.S.: Запуск "снаружи" отработал экспорт файла субъективно быстрее раза в 2, по сравнению с запуском "внутри" . Почему интересно ? |
Автор: | Amir [ 12 фев 2014, 19:42 ] |
Заголовок сообщения: | Re: [6.0] Inet flowExport - память. (CRM) |
dir нужен, когда вызываете "снаружи", т.к. при обычном вызове dir берется из кофигурации. Класс тот же самый. Быстрее - скорее всего из-за того, что при вызове "снаружи" не было логирования (all.log, collector.log etc). |
Автор: | snark [ 12 фев 2014, 20:02 ] |
Заголовок сообщения: | Re: [6.0] Inet flowExport - память. (CRM) |
Джентльмены участвующие в обсуждении и особенно Amir, загляните, пожалуйста, сюда ![]() |
Автор: | ok-2004 [ 12 фев 2014, 21:52 ] |
Заголовок сообщения: | Re: [6.0] Inet flowExport - память. (CRM) |
что меня очаровывает при запуске снаружи - так это то что bginetaccounting ваще при этом не недо запускать. Я скопировал каталог bginetaccounting с netfloe-логами на ноут с юбунтой, прибавил туда яву, и ушёл с ним домой, где у меня ваще интета нету, и сидел спокойно ковырялся в логах , пока не нашёл куда ходил клиент в определённый период.... |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |