Анализ логов nginx с помощью goaccess
Я хочу проанализировать и проанализировать журналы nginx с помощью goaccess и получить отчет из проанализированных журналов. Но когда я запускаю zcat -f access.log.*.gz | goaccess -a -c
Команда, это дает мне следующую ошибку:
GoAccess - version 0.5 - Jun 26 2012 04:30:08
An error has occurred
Error occured at: parser.c - process_log - 584
Message: No date format was found on your conf file.
Я пытался добавить строку date_format %D %T
в файл.goaccessrc, но я получил еще одну ошибку:
GoAccess - version 0.5 - Jun 26 2012 04:30:08
An error has occurred
Error occured at: parser.c - process_log - 588
Message: No log format was found on your conf file.
Я думаю, что он запрашивает дату и форматы журнала, которые использует nginx. но у меня нет никакой даты или формата журнала в моей конфигурации nginx.
Кроме того, я попытался использовать предыдущую версию goaccess (версия 0.4.2) и zcat -f access.log.*.gz | goaccess -a -c
Команда отлично работает. он не запрашивает какую-либо дату или формат журнала, и я могу просматривать меню goaccess, и я могу просматривать любые данные, которые хотят.
Но когда я пытаюсь получить отчет в формате HTML с zcat -f access.log.*.gz | goaccess -a -c > report.html
Команда, это ничего не делает. он просто ждет и ждет. (без предупреждения или ошибки)
Примечание: я проверил эти веб-страницы, и если вы хотите посмотреть тоже.
4 ответа
Получил работу со следующим ~/.goaccessrc
:
date_format %d/%b/%Y:%T %z
log_format %h - - [%d] "%r" %s %b "%R" "%u"
Я установил GoAccess как бинарный пакет из хранилища wheezy (без перекомпиляции исходного кода).
Предполагая, что вы используете строку формата CLF, я бы запустить goaccess
с -c
а затем выберите NCSA Combined Log Format
из меню конфигурации.
"$time_local"
в nginx заменяется на "23/Aug/2010:03:50:59 +0000"
так что добавление date_format %d/%b/%Y
ваш ~/.goaccessrc должен это сделать.
Обновление 1:
Установка v0.5 из исходного кода
Download
последняя версияtar -xzvf goaccess-0.5.tar.gz
cd goaccess-0.5/
./configure --enable-utf8
make
sudo make install
goaccess -a -c /var/log/apache2/access.log
Примечание. Если он уже установлен, вам может потребоваться выполнить шаг 7 до его использования.
zcat
Если вы не хотите использовать глобальные параметры, используйте --no-global-config
вариант с goaccess. Я использую это для обработки моих файлов журнала на ежедневной основе:
grep --color=auto `date +"%d/%b"` /var/log/nginx/sitename.access.log | goaccess --no-global-config > report.html
версия goaccess: 0.8
Я встретил ту же проблему с тобой! Путь к файлу конфигурации правильный " /etc/goaccess.conf " попробуйте сделать это
echo "date_format %d/%b/%Y
> log_format %h %^[%d:%^] “%r” %s %b “%R” “%u” %T
> time_format %H:%M:%S" >> /etc/goaccess.conf
и попробуйте еще раз, я желаю вам успеха