LINUX.ORG.RU

nginx. Получить трафик по директориям сайта

 , ,


0

1

Имеется структура сайта в которой весь материал лежит в подкатегориях /cat1 /cat2 /cat2.... Нужно для каждой директории посчитать трафик(за день, за месяц).

Логируется в таком виде:

log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for" [$host] $request_time';

В логе это выглядит следующим образом:

85.113.39.168 - - [21/Feb/2015:06:00:45 -0500] "GET /srv284/maps/cs_backalley.bsp HTTP/1.1" 200 2142344 "http://s3.gameclodo.ru:8081/srv284/maps/" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.111 Safari/537.36" "-" [s3.gameclodo.ru] [/home/srv284/cstrike/] 1.849
85.113.39.168 - - [21/Feb/2015:06:01:03 -0500] "GET /srv295/de_storm.wad HTTP/1.1" 200 4187008 "http://s3.gameclodo.ru:8081/srv295/" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.111 Safari/537.36" "-" [s3.gameclodo.ru] [/home/srv295/cstrike/] 1.389

Вопрос в том, как это всё распарсить правильнее, чтобы получить трафик для /cat1 /cat2 /cat3 с учетом вложенности и с условием, что нужно смотреть трафик за сутки(месяц) ?

Ответ на: комментарий от MikeDM

Я знаю, что стоит использовать для этих задач awk grep tail и sort Просто, думал, может есть у кого-то уже готовый скрипт......

dobrofenix
() автор топика

Пишешь в каждой секции каждого хоста свой путь для логов, и дописываешь туда еще один чтобы сбрасывал в общий лог. А потом смотришь когда надо, либо общий, либо отдельно по хосту в разных файлах.

И вообще если нужно, то можно логировать даже отдельные локейшны.

deep-purple ★★★★★
()
Последнее исправление: deep-purple (всего исправлений: 1)
Ответ на: комментарий от dobrofenix

Просто, думал, может есть у кого-то уже готовый скрипт......

тут делов то на 30 - 60 минут. будь мужиком =)

MikeDM ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.