У меня есть несколько файлов журналов Apache, которые я хотел бы проанализировать. Я ищу инструмент, который не требует особых настроек; то, что я могу запустить журнал через командную строку, не возиться на наших живых веб-серверах.
Любые рекомендации?
apache-2.2
log-files
analytics
mmattax
источник
источник
Ответы:
Хотя все вышеперечисленные инструменты классные, я думаю, что знаю, о чем спрашивал спрашивающий. Мне часто больно, что я не могу вытащить информацию из журнала доступа, как я могу с другими файлами.
Это из-за глупого формата журнала доступа:
127.0.0.1 - - [16/Aug/2014:20:47:29 +0100] "GET /manual/elisp/index.html HTTP/1.1" 200 37230 "http://testlocalhost/" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:31.0) Gecko/20100101 Firefox/31.0"
Почему они использовали [] для даты и "" для других вещей? они думали, что мы не узнаем дату в поле 4? Это невероятно расстраивает.
Лучший инструмент для этого сейчас - gawk:
gawk 'BEGIN { FPAT="([^ ]+)|(\"[^\"]+\")|(\\[[^\\]]+\\])" } { print $5 }'
на данных выше это даст вам:
Другими словами, FPAT дает вам возможность извлекать поля apache-log, как если бы они были действительными полями, а не просто объектами, разделенными пробелами. Это всегда то, что я хочу. Затем я могу немного больше разобраться с конвейером.
Настройка работы FSPAT описана здесь: http://www.gnu.org/software/gawk/manual/html_node/Splitting-By-Content.html.
Поэтому вы можете настроить псевдоним для создания gawk, который может анализировать журналы apache:
alias apacheawk="gawk -vFPAT='([^ ]+)|(\"[^\"]+\")|(\\\\[[^\\\\]]+\\\\])' " apacheawk '$6 ~ /200/ { print $5 } | sort | uniq
сделал это для меня:
и, конечно, почти все остальное теперь возможно.
Наслаждайтесь!
источник
awk '($9 == 200) {print $6,$7,$8}'
отобразить то же самое, что и в вашем примере. Нет необходимости использовать FPAT (хотя этот метод может быть полезен в других случаях)Wtop это круто. Есть и другие утилиты. Часто я буду анализировать логи, используя bash, sed и awk.
источник
apachetop довольно крутой; он печатает живую статистику. Вы запускаете это с
Чтобы установить его в Debian / Ubuntu:
или из источника: https://github.com/JeremyJones/Apachetop
источник
Какой вывод вы хотите?
Если вы просто хотите что-то посчитать, тогда grep что-то logfile.txt | wc -l прекрасно работает. Если вы хотите красивые графики ... не так много.
источник
Если у вас есть рабочая станция с Windows, которую вы можете использовать, тогда logparser - инструмент выбора!
источник
Аналог работает хорошо из коробки и не требует большой настройки. logwrangler - это пакет, который работает с аналогом для создания более качественного вывода, а также не требует больших настроек.
источник
Вместо использования инструмента командной строки я бы предложил использовать Apache Logs Viewer. Это бесплатный инструмент, который может отслеживать и анализировать файл журнала Apache. Он может генерировать довольно крутые графики и отчеты на лету.
Больше информации от http://www.apacheviewer.com
источник