fet4
|
|
« : 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
|
|
« Ответ #1 : 11 Сентября 2015, 00:15:01 » |
|
запусти пингсервер с ключем -v дай команду пинга скопируй с консоли команду ping blablabla и результат, который выдал модуль пингсервер
|
|
|
Записан
|
|
|
|
fet4
|
|
« Ответ #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
|
|
« Ответ #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,
запусти модуль окремим процесом /usr/bin/perl /usr/local/nodeny/nokernel.pl -m=pingserver -d &
перевірь в браузері
|
|
|
Записан
|
|
|
|
fet4
|
|
« Ответ #4 : 11 Сентября 2015, 15:29:01 » |
|
Хук есть. А чем в частности regexp из вашего хука отличается от моего?
|
|
|
Записан
|
|
|
|
Efendy
|
|
« Ответ #5 : 11 Сентября 2015, 18:51:55 » |
|
Попробуй: regexp => '(\d+\.?\d*)% packet loss', вижу, что теперь потери 0% целым числом отображаются
|
|
|
Записан
|
|
|
|
fet4
|
|
« Ответ #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
|
|
« Ответ #7 : 11 Сентября 2015, 21:11:17 » |
|
На всякий случай проверь пинги на какой-нибудь комп с потерями
|
|
|
Записан
|
|
|
|
fet4
|
|
« Ответ #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
|
|
« Ответ #9 : 16 Октября 2018, 07:11:25 » |
|
у меня такая же проблема error: wrong regexp in pingserver.cfg. но что-то изменения никак не помогли в regexp => '(\d+\.?\d*)% packet loss', сам pingserver запущен под root версия freebsd 10.4 stable посоветуйте правильное регулярное выражение
|
|
|
Записан
|
|
|
|
Efendy
|
|
« Ответ #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
Сообщений: 1407
|
|
« Ответ #11 : 18 Октября 2018, 11:43:13 » |
|
На Фре 10.4 регулярку менять не нужно. Там показывает 0.0% packet loss
|
|
|
Записан
|
|
|
|
Sis
|
|
« Ответ #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
Сообщений: 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
Сообщений: 365
|
|
« Ответ #14 : 20 Ноября 2018, 21:05:53 » |
|
Исправил. В конфиге модуля изначально неверно прописан путь к PING было cmd => '/bin/ping -q -n -i0.001' стало cmd => '/sbin/ping -q -n -i0.001' Все заработало. Поправьте модуль в SVN.
|
|
|
Записан
|
|
|
|
|