Анализ логов 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Команда, это ничего не делает. он просто ждет и ждет. (без предупреждения или ошибки)

Примечание: я проверил эти веб-страницы, и если вы хотите посмотреть тоже.

  1. http://goaccess.prosoftcorp.com/faq
  2. http://wiki.nginx.org/HttpLogModule

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 из исходного кода

  1. Download последняя версия
  2. tar -xzvf goaccess-0.5.tar.gz
  3. cd goaccess-0.5/
  4. ./configure --enable-utf8
  5. make
  6. sudo make install
  7. 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

и попробуйте еще раз, я желаю вам успеха

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