Биллинговая система Nodeny
19 Апреля 2024, 14:21:55 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Прекращена поддержка версии Nodeny 49
 
   Начало   Помощь Поиск Войти Регистрация  
Страниц: [1]
  Печать  
Автор Тема: Периодически вылетает модуль подсчета трафика.  (Прочитано 4954 раз)
NTE
NoDeny
Постоялец
*

Карма: 0
Offline Offline

Сообщений: 111


Просмотр профиля Email
« : 15 Октября 2017, 19:36:08 »

Привет.

Периодически вылетает модуль collectors, заходишь в админку, жмешь "Трафик" - а там пусто.
Запускаю его вручную:

Код:
# /usr/bin/perl /usr/local/nodeny/nokernel.pl -m=collectors -d &
[1] 8635

Появляется в процессах:
Код:
# ps ax | grep nodeny | grep pl | grep -v grep
 938 v0- S       12:53,39 /usr/bin/perl /usr/local/nodeny/nokernel.pl -d
 939 v0- S      153:17,79 /usr/bin/perl /usr/local/nodeny/noserver.pl -d
8635  0  S        0:00,88 /usr/bin/perl /usr/local/nodeny/nokernel.pl -m=collectors -d
# /usr/local/bin/flow-export: Exported 383766468 records

Но в админке по-прежнему трафик не отображается.
Сам процесс m=collectors работает, но начинает дико выжирать память.

Сервак начинает тупить, в консоль зайти невозможно.
Память на сервере 24 гига. Как подбирается к планке модуль вылетает.
В консоли при этом:
Код:
[1]+  Killed                  /usr/bin/perl /usr/local/nodeny/nokernel.pl -m=collectors -d

Помогает полная перезагрузка сервера. Бутаешь его и траф считается дня 3-4, бывает больше.
На этом сервере крутится база. НАС - отдельный сервер.
Записан
Efendy
Администратор
Спец
*****

Карма: 138
Offline Offline

Сообщений: 4782



Просмотр профиля
« Ответ #1 : 16 Октября 2017, 08:09:21 »

а какой период снятия трафика?
Записан
NTE
NoDeny
Постоялец
*

Карма: 0
Offline Offline

Сообщений: 111


Просмотр профиля Email
« Ответ #2 : 16 Октября 2017, 10:14:40 »

а какой период снятия трафика?

Вроде через 5 минут.
Но смотрю перед самым вылетом модуля, когда траф увеливается, период увеличивается.


Или не то смотрю?
Вчера бутал сервер, смотрю вырубился модуль вчера вечером. Видно трафа много было.
Записан
Cell
NoDeny
Спец
*

Карма: 52
Offline Offline

Сообщений: 1407



Просмотр профиля
« Ответ #3 : 16 Октября 2017, 10:35:29 »

На одном из объектов была точно такая же проблема. Возникало в часы пик, когда трафик переваливал за 2 гбит/с. Никак оно не лечится кроме как увеличением производительности железа (процик и какие-нибудь мегабыстрые винты). В конечном итоге пришлось отказаться от сбора трафика вообще.
Записан
NTE
NoDeny
Постоялец
*

Карма: 0
Offline Offline

Сообщений: 111


Просмотр профиля Email
« Ответ #4 : 16 Октября 2017, 10:40:02 »

На одном из объектов была точно такая же проблема. Возникало в часы пик, когда трафик переваливал за 2 гбит/с. Никак оно не лечится кроме как увеличением производительности железа. В конечном итоге пришлось отказаться от сбора трафика вообще.

Если еще памяти добавить, все равно сожрет всю?
Записан
Cell
NoDeny
Спец
*

Карма: 52
Offline Offline

Сообщений: 1407



Просмотр профиля
« Ответ #5 : 16 Октября 2017, 10:45:20 »

Если еще памяти добавить, все равно сожрет всю?
Пробовали по разному. И свап немерянный делали - толку ноль.. Там лавинообразный процесс т.к. проц не успевает. Обрати внимание что паузы между срезами все больше больше больше и потом хоп... и до свиданья. Помогло, когда поставили камень какой-то мега быстрый. Но это все до поры до времени. Думаю, можно попробовать ускорить операции чтения-записи заменив винт на что-то более быстрое. Но оно бдует менее надежное, поэтому хз.
Записан
Efendy
Администратор
Спец
*****

Карма: 138
Offline Offline

Сообщений: 4782



Просмотр профиля
« Ответ #6 : 16 Октября 2017, 12:59:45 »

Ну и утечка памяти полюбому есть. В самом модуле ее нет - проверяли неоднократно. Это происходит при каких-то невыясненных обстоятельствах. Возможно зависит от версии perl, да и вообще perl как и многие языки, хреново работает с потоками. Я подумаю как сделать режим, чтоб модуль сбора трафика перезагружался через определенное количество времени. Придется таким костылем, ибо причина боков не ясна
Записан
NTE
NoDeny
Постоялец
*

Карма: 0
Offline Offline

Сообщений: 111


Просмотр профиля Email
« Ответ #7 : 16 Октября 2017, 17:00:47 »

Было бы неплохо, хоть так )
Записан
Cell
NoDeny
Спец
*

Карма: 52
Offline Offline

Сообщений: 1407



Просмотр профиля
« Ответ #8 : 16 Октября 2017, 18:40:43 »

я когда-то еще на 50й версии делал вертушку, которая смотрела наличие запущенного процесса и если не находила, то удаляла pid  и запускала заново.
Записан
ser970
NoDeny
Спец
*

Карма: 70
Offline Offline

Сообщений: 1323

262462619
Просмотр профиля Email
« Ответ #9 : 16 Октября 2017, 20:28:07 »

monit (/usr/ports/sysutils/monit)
и
if memory usage >70%

при> 70%  передернет процесс...
а вообще  довольно удобная вещь...
Записан
NTE
NoDeny
Постоялец
*

Карма: 0
Offline Offline

Сообщений: 111


Просмотр профиля Email
« Ответ #10 : 16 Октября 2017, 21:28:14 »

monit (/usr/ports/sysutils/monit)
и
if memory usage >70%

при> 70%  передернет процесс...
а вообще  довольно удобная вещь...

Установил на сервер monit
Как правильно секцию прописать для
/usr/bin/perl /usr/local/nodeny/nokernel.pl -m=collectors -d ?
Записан
ser970
NoDeny
Спец
*

Карма: 70
Offline Offline

Сообщений: 1323

262462619
Просмотр профиля Email
« Ответ #11 : 17 Октября 2017, 16:38:01 »

ну гдето так

 check system myhost.mydomain.tld
    start program = "/usr/local/etc/monit/collectors.sh start"
    stop program  = "/usr/local/etc/monit/collectors.sh stop"
    if loadavg (1min) > 2 for 2 cycles then restart
    if loadavg (5min) > 1 then alert
    if memory usage > 5% then alert
    if swap usage > 5% then alert
    if cpu usage (user) > 7% then alert
    if cpu usage (system) > 3% then alert
    if cpu usage (wait) > 2% then alert

з.ы ну нету на тестовом сервере нагрузки , пришлось проверять по  if loadavg (1min)
соответсвнно сам рестарт по  2 for 2 cycles then restart
Записан
NTE
NoDeny
Постоялец
*

Карма: 0
Offline Offline

Сообщений: 111


Просмотр профиля Email
« Ответ #12 : 17 Октября 2017, 19:29:15 »

Спасибо большое!
Попробую
Записан
Страниц: [1]
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.20 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!