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 вырезал код, дающий сохранение детализации.