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

Войти
Новости: Прекращена поддержка версии Nodeny 49
 
   Начало   Помощь Поиск Войти Регистрация  
Страниц: [1] 2
  Печать  
Автор Тема: pingserver wrong regexp  (Прочитано 8563 раз)
fet4
Старожил
****

Карма: 2
Offline Offline

Сообщений: 324


Просмотр профиля Email
« : 10 Сентября 2015, 16:50:32 »

Привет!
Помогите подправить regexp, а то
Код:
rootsrv-bill:/usr/local/nodeny# curl h**p://127.0.0.1:8081/?ip=127.0.0.1\&count=10\&cmd=ping
cookie: 10668-222745196501root@srv-bill:/usr/local/nodeny# curl h**p://127.0.0.1:8081/?ip=127.0.0.1\&cmd=cookie\&cookie=10668-222745196501
error: wrong regexp in pingserver.cfg. Ping result: PING 127.0.0.1 (127.0.0.1) 10(38) bytes of data.

--- 127.0.0.1 ping statistics ---
2001 packets transmitted, 2001 received, 0% packet loss, time 1999ms

В _pingserver.cfg
Код:
# регулярное выражение, позволяющее вычленить потери в ответе ping
regexp       => '(\d+\.\d+)% packet loss',

Заранее спасибо.
Записан
Efendy
Администратор
Спец
*****

Карма: 138
Offline Offline

Сообщений: 4782



Просмотр профиля
« Ответ #1 : 11 Сентября 2015, 00:15:01 »

запусти пингсервер с ключем -v
дай команду пинга
скопируй с консоли команду ping blablabla и результат, который выдал модуль пингсервер
Записан
fet4
Старожил
****

Карма: 2
Offline Offline

Сообщений: 324


Просмотр профиля Email
« Ответ #2 : 11 Сентября 2015, 12:45:40 »

Вот
Код:
root@srv-bill:~# /usr/bin/perl /usr/local/nodeny/nokernel.pl -m=pingserver -v
Start. Flag -h for help

loading /usr/local/nodeny/sat.cfg

Connecting to DBI:mysql:database=nodeny;host=localhost;port=3306;mysql_connect_timeout=5 : 0.011784 sec

SELECT * FROM config ORDER BY time DESC LIMIT 1
Строк: 1. Время выполнения sql: 0.0001 сек

loading kernel::_pingserver.pm

kernel::pingserver Start

Слушаем порт 8081

[127.0.0.1:48869] Header:
  accept      = '*/*'
  host        = '127.0.0.1:8081'
  query       = 'ip=127.0.0.1&count=10&cmd=ping'
  uri         = '/'
  url         = '/?ip=127.0.0.1&count=10&cmd=ping'
  user-agent  = 'curl/7.38.0'

[127.0.0.1:48869] Query:
  cmd    = 'ping'
  count  = '10'
  ip     = '127.0.0.1'

[127.0.0.1:48869] Отправляем: HTTP/1.1 200 OK
Content-Type:text/html; charset=utf-8
Pragma:no-cache
Cache-Control:no-store
Content-Length:26

cookie: 82486-791033617294

/bin/ping -q -n -i0.001 -s 10 -w 2 127.0.0.1 2>&1

[127.0.0.1:48869] close connection 127.0.0.1:48869

[127.0.0.1:48869] close connection 127.0.0.1:48869

PING 127.0.0.1 (127.0.0.1) 10(38) bytes of data.

--- 127.0.0.1 ping statistics ---
2001 packets transmitted, 2001 received, 0% packet loss, time 1999ms



[127.0.0.1:48870] Header:
  accept      = '*/*'
  host        = '127.0.0.1:8081'
  query       = 'ip=127.0.0.1&cmd=cookie&cookie=82486-791033617294'
  uri         = '/'
  url         = '/?ip=127.0.0.1&cmd=cookie&cookie=82486-791033617294'
  user-agent  = 'curl/7.38.0'

[127.0.0.1:48870] Query:
  cmd     = 'cookie'
  cookie  = '82486-791033617294'
  ip      = '127.0.0.1'

[127.0.0.1:48870] Отправляем: HTTP/1.1 200 OK
Content-Type:text/html; charset=utf-8
Pragma:no-cache
Cache-Control:no-store
Content-Length:206

error: wrong regexp in pingserver.cfg. Ping result: PING 127.0.0.1 (127.0.0.1) 10(38) bytes of data.

--- 127.0.0.1 ping statistics ---
2001 packets transmitted, 2001 received, 0% packet loss, time 1999ms



[127.0.0.1:48870] close connection 127.0.0.1:48870
Записан
cojiict
Старожил
****

Карма: 0
Offline Offline

Сообщений: 341


Просмотр профиля Email
« Ответ #3 : 11 Сентября 2015, 13:22:25 »

спробуй створити хук
Код:
/usr/local/nodeny/modules/pingserver/create.pingserver.cfg
Код:

#<ACTION> file=>'kernel/pingserver.cfg',hook=>'new'

port => 8081,

# -f : пинги идут сплошным потоком, а не периодом в 1 секунду,
#       не рекомендуется использовать т.к часто срабатывает защита от флуда,
#       т.е. данные по по потерям будут неверны
# -i : период между посылками пингов, сек. Для root можно < 1
#       чем меньше период, тем больше вероятность страбатывания защиты от флуда
#       (в том числе сам сервер имеет лимит, см. sysctl net.inet.icmp.icmplim).
#       Если период сделать большим, то долго будем ждать результата т.к.
#       посылается много пингов для вычисления % потерь
# -q : не отображать процесс пингования, только результат
# -n : отключение резолва

cmd => '/sbin/ping -q -n -i0.001',

# ключ, задающий общее время пингования
flag_timeout => '-t',

# ключ, задающий количество пакетов
flag_count   => '-c',

# регулярное выражение, позволяющее вычленить потери в ответе ping
regexp       => '(\d+\.\d+)% packet loss',

# -D : вместо строчек пингования показывает точки или восклицательные знаки,
#       этим мы уменьнаем объем вывода, ибо quiet режима, кажется, нет
# -w : период пингов в микросекундах
# -c : общее количество пингов

arping       => '/usr/local/sbin/arping -D -w100 -c10',

arping_regexp => '(\d+\.?\d*)% packet loss',

# максимальное количество пингов на ip
max_pings   => 1000,
Код:
perl install.pl -x
запусти модуль окремим процесом
Код:
/usr/bin/perl /usr/local/nodeny/nokernel.pl -m=pingserver -d &

перевірь в браузері
Записан
fet4
Старожил
****

Карма: 2
Offline Offline

Сообщений: 324


Просмотр профиля Email
« Ответ #4 : 11 Сентября 2015, 15:29:01 »

Хук есть. А чем в частности regexp из вашего хука отличается от моего?
Записан
Efendy
Администратор
Спец
*****

Карма: 138
Offline Offline

Сообщений: 4782



Просмотр профиля
« Ответ #5 : 11 Сентября 2015, 18:51:55 »

Попробуй:

Код:
regexp => '(\d+\.?\d*)% packet loss',

вижу, что теперь потери 0% целым числом отображаются
Записан
fet4
Старожил
****

Карма: 2
Offline Offline

Сообщений: 324


Просмотр профиля Email
« Ответ #6 : 11 Сентября 2015, 19:49:45 »

Спасибо то что нужно.
Код:
# curl h**p://127.0.0.1:8081/?ip=127.0.0.1\&count=10\&cmd=ping
cookie: 10613-838409409715# curl h**p://127.0.0.1:8081/?ip=127.0.0.1\&cmd=cookie\&cookie=10613-838409409715
ping: 0#
Записан
Efendy
Администратор
Спец
*****

Карма: 138
Offline Offline

Сообщений: 4782



Просмотр профиля
« Ответ #7 : 11 Сентября 2015, 21:11:17 »

На всякий случай проверь пинги на какой-нибудь комп с потерями
Записан
fet4
Старожил
****

Карма: 2
Offline Offline

Сообщений: 324


Просмотр профиля Email
« Ответ #8 : 12 Сентября 2015, 12:16:14 »

Немного одна вещь настараживает, подскажите. На тестовой машине без пользователей модуль pingserver потребляет 12% cpu и 11 % mem. Это нормально? Остальные модуля в пределах 0,5
Код:
top - 13:11:50 up 19:22,  2 users,  load average: 0,20, 0,12, 0,14
Tasks: 130 total,   1 running, 129 sleeping,   0 stopped,   0 zombie
%Cpu(s):  1,6 us,  1,1 sy,  0,0 ni, 95,8 id,  1,5 wa,  0,0 hi,  0,0 si,  0,0 st
KiB Mem:   1911024 total,   871424 used,  1039600 free,    89200 buffers
KiB Swap:  1949692 total,        0 used,  1949692 free.   302028 cached Mem

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
24621 root      20   0 2698652 196844   6136 S  11,3 10,3   0:27.62 perl
 1186 root      20   0  133300  15184   5936 S   0,3  0,8   1:33.03 perl
 1190 root      20   0  132972  14904   6012 S   0,3  0,8   1:11.97 perl
Записан
Sis
Старожил
****

Карма: -7
Offline Offline

Сообщений: 370


Просмотр профиля
« Ответ #9 : 16 Октября 2018, 07:11:25 »

у меня такая же проблема error: wrong regexp in pingserver.cfg.
но что-то изменения никак не помогли
в regexp       => '(\d+\.?\d*)% packet loss',
сам pingserver запущен под root
версия freebsd 10.4 stable
посоветуйте правильное регулярное выражение
Записан
Efendy
Администратор
Спец
*****

Карма: 138
Offline Offline

Сообщений: 4782



Просмотр профиля
« Ответ #10 : 18 Октября 2018, 11:01:05 »

у меня такая же проблема error: wrong regexp in pingserver.cfg.
но что-то изменения никак не помогли
в regexp       => '(\d+\.?\d*)% packet loss',
сам pingserver запущен под root
версия freebsd 10.4 stable
посоветуйте правильное регулярное выражение
чтобы посоветовать, нужно видеть что тебе ответило на пинг. В ошибке по идее должен процитироваться ответ
Записан
Cell
NoDeny
Спец
*

Карма: 52
Offline Offline

Сообщений: 1407



Просмотр профиля
« Ответ #11 : 18 Октября 2018, 11:43:13 »

На Фре 10.4 регулярку менять не нужно. Там показывает   0.0% packet loss
Записан
Sis
Старожил
****

Карма: -7
Offline Offline

Сообщений: 370


Просмотр профиля
« Ответ #12 : 21 Октября 2018, 01:31:51 »


чтобы посоветовать, нужно видеть что тебе ответило на пинг. В ошибке по идее должен процитироваться ответ
[/quote]

[root@www /usr/local/nodeny]# curl http_://127.0.0.1:8081/?ip=127.0.0.1\&count=10\&cmd=ping
cookie: 412064-756690153459[root@www /usr/local/nodeny]# curl http_://127.0.0.1:8081/?ip=127.0.0.1\&cmd=cookie\&cookie=412064-756690153459
error: wrong regexp in pingserver.cfg. Ping result: [root@www /usr/local/nodeny]#
Записан
NodenY45
NoDeny
Старожил
*

Карма: 2
Offline Offline

Сообщений: 365


Просмотр профиля
« Ответ #13 : 20 Ноября 2018, 20:40:38 »

пытаюсь запустить пингсервер, не хочет работать, запуская с мана команду
Код:
# curl http://127.0.0.1:8081/?ip=127.0.0.1\&count=10\&cmd=ping
curl: No match.
Запускаю с ключом -v

если без параметров то выдает вот это
Код:
# curl http://127.0.0.1:8081
curl: (52) Empty reply from server

В косоле модуля:
Код:
[127.0.0.1:18478] Header:
  accept      = '*/*'
  host        = '127.0.0.1:8081'
  query       = ''
  uri         = '/'
  url         = '/'
  user-agent  = 'curl/7.61.1'

[127.0.0.1:18478] Query: empty


Все пакеты стоят, модуль последний из кабинета. Куда смотреть?



UPD. Зашел в BASH там все отработало. Но выдает тоже ошибку с регуляркой
Код:
# curl http://127.0.0.1:8081/?ip=127.0.0.1\&cmd=cookie\&cookie=76232451-148756914845
error: wrong regexp in pingserver.cfg. Ping result:

лог с модуля, версия freebsd 10.2:
Код:
[127.0.0.1:62535] Header:
  accept      = '*/*'
  host        = '127.0.0.1:8081'
  query       = 'ip=127.0.0.1&cmd=cookie&cookie=76232451-148756914845'
  uri         = '/'
  url         = '/?ip=127.0.0.1&cmd=cookie&cookie=76232451-148756914845'
  user-agent  = 'curl/7.61.1'

[127.0.0.1:62535] Query:
  cmd     = 'cookie'
  cookie  = '76232451-148756914845'
  ip      = '127.0.0.1'

[127.0.0.1:62535] Отправляем: HTTP/1.1 200 OK
Cache-Control:no-store
Pragma:no-cache
Content-Type:text/html; charset=utf-8
Content-Length:52

error: wrong regexp in pingserver.cfg. Ping result:
Записан
NodenY45
NoDeny
Старожил
*

Карма: 2
Offline Offline

Сообщений: 365


Просмотр профиля
« Ответ #14 : 20 Ноября 2018, 21:05:53 »

Исправил.
В конфиге модуля изначально неверно прописан путь к PING
было
Код:
cmd => '/bin/ping -q -n -i0.001'
стало
Код:
cmd => '/sbin/ping -q -n -i0.001'

Все заработало. Поправьте модуль в SVN.
Записан
Страниц: [1] 2
  Печать  
 
Перейти в:  

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