Назад | Перейти на главную страницу

Список самых популярных URL-адресов 404 в Apache access_log

Я ищу команду для перечисления 10 или 20 основных URL-адресов ошибок 404 из моего журнала доступа apache. Кто-нибудь может мне с этим помочь?

Спасибо

Предполагая нормальный формат access_log, это должно сделать это:

cat access_log | awk '{ if($9 == 404) { print $7 } }' | sort | uniq -c | sort -nr | head -10

Я сделал это с помощью стандартных утилит unix, awk, sort и т. Д., И это работает довольно хорошо. Поскольку формат ваших журналов может быть другим, вам, возможно, придется изменить некоторые вещи, чтобы они работали в вашей среде, но основная команда будет такой:

cat access_log | awk '/" 404 / {print $7}' | sort | uniq -c | sort -n | tail -n10

Если вы не знакомы с awk, мы делаем следующее:

for each line
   if it contains the string '" 404', then
     print the 7th field (where fields are space delimited) 

Если вы используете собственный формат журнала Apache, вам нужно будет изменить $7 чтобы соответствовать полю для URL-адреса в запросе GET. Вы также можете изменить количество строк из хвостовой команды, чтобы отображать больше или повторять результаты.