@cru5ader

Парсинг лога nginx, на долгоиграющие скрипты?

Всем привет, не получается распарсить лог nginx на долгоиграющие скрипты. допустим больше 10 секунд

1.5.3.255 - - [18/Mar/2017:00:01:23 +0300] 42833825/6 200    3.561/3.561s        621/766b        1.23x - TLSv1.2-.       -       "GET /ib1/rest/v1/getCli
8.2.1.1 - - [18/Mar/2017:00:01:23 +0300]  42833684/7  200    10.007/0.007s        5133/3241b      1.29x - TLSv1.2-.       -       "POST /ib1/wf1/retail/ca


меня интересует значение к примеру 10.007/0.007s,

В запросе:

awk '$8 > 10 {print }' /web_logs/nginx/access.old | awk '{print $8 " " $15}' | sort | uniq -c | sort -rn |head -20

выводятся данные, где время выполнения меньше 10 секунд, т.е. с значением 3.561/3.561s
Как правильно будет распарсить данные?
  • Вопрос задан
  • 536 просмотров
Решения вопроса 2
piromanlynx
@piromanlynx
Системный администратор в Perfect Solutions
awk '{print $8, $NF}' log | sed -E 's@([0-9]+)\.([0-9]+)/@\1.\2 @g' | awk '{if ($1 > 10) print $0}' |  sort | uniq -c | sort -rn |head -20

вывод по вашему примеру:
1 10.007 0.007s /ib1/wf1/retail/ca
Ответ написан
saboteur_kiev
@saboteur_kiev Куратор тега Linux
software engineer
sed -r 's/([0-9]*\.[0-9]*)\/([0-9]*\.[0-9]*)s/\1 \2/' access.txt | awk '$8 > 10 {print}'
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы