помогите с регэкспом
Обязательно одной регуляркой?
лог апача парсишь что ли?
нгинкса. и да надо обязательно одним. иначе надо немного переписывать мониторилку, а мне лень очень из-за одной регулярки и автора пинать хер теперь запинаешь.
~/tmp$ cat log.txt
10.73.0.66 [-] - - [12/Nov/2012:02:01:21 +0400] - POST /smarttube/master/spine/soap/SdpOssService HTTP/1.1 "500" 490 "-" "JAX-WS RI 2.1.6 in JDK 6" "192.168.202.18:51000" 8097 "10.68.15.17:8097" 0.066 0.066 -
Это
192.168.209.166 [10.7.1.63] - 00:02:02:27:4c:1d [12/Nov/2012:00:35:33 +0600] BACKEND GET /smarttube/master/spine/services/ncdxml/ServiceAccount/get_status?serviceAccountNumber=77000169 HTTP/1.0 "504" 176 "-" "Mozilla/5.0" "127.0.0.1:51000, 127.0.0.1:51000" 9080 "master" 10.031 5.000, 5.000 -
~/tmp$ grep -P '(?<!SdpOssService )HTTP/1\.[01] "5[0-9][0-9]"' log.txt
192.168.209.166 [10.7.1.63] - 00:02:02:27:4c:1d [12/Nov/2012:00:35:33 +0600] BACKEND GET /smarttube/master/spine/services/ncdxml/ServiceAccount/get_status?serviceAccountNumber=77000169 HTTP/1.0 "504" 176 "-" "Mozilla/5.0" "127.0.0.1:51000, 127.0.0.1:51000" 9080 "master" 10.031 5.000, 5.000 -
А может проще nginx настроить, что бы писал в разые логи?
(?<! SdpOssService\s)HTTP/1\.[01] \"5[0-9][0-9]\"
UPD опередили
Короче городить костыль лучше всего на этом участке мониторинга. по идее можно напилить правильный регэксп, но у меня не получается.
grep -P '(?<!SdpOssService )HTTP/1\.[01] "5[0-9][0-9]"' log.txtспасибо вроде пашет
Оставить комментарий
YUAL
Есть две строки.обе попадают под regexp в перловом формате
Надо доработать этот регексп так, чтоб если в строке есть фраза SdpOssService, то строка под регексп не попадала.
по идее надо что-то типа но этот регэксп всё равно засчитывает обе строки.