Какой самый простой способ подсчитать количество запросов к /foo/, которые обслуживает Apache?

Я пытаюсь задним числом проанализировать журналы и посчитать количество выполненных запросов /foo/*, чтобы иметь базовый тест для новой функции, которую мы продвигаем. Подойдет простой сценарий командной строки - с дополнительным бонусом за возможность указать диапазон дат.

Некоторое использование grep, возможно?

3 ответа

egrep -c '\] "[A-Z]+ /foo/' access_log
fgrep " /foo/" access_log | wc -l

чтобы получить примерно отформатированный доступ в день:

fgrep " /foo/" access_log | cut -d'[' -f2 | cut -d: -f1 | uniq -c 

Добавление условия "возможность указать диапазон дат" усложняет задачу. Проще всего написать программу на Python или Ruby. В противном случае, используя дату (1) с -f настроить формат разбора, -j сказать ему, чтобы он оставил эти проклятые часы в покое, и -r чтобы он печатал секунды, так как эпоха привела бы вас туда.

Другие вопросы по тегам