Подтвердить что ты не робот

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

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

4b9b3361

Ответ 1

Получил работу со следующим ~/.goaccessrc:

date_format %d/%b/%Y:%T %z
log_format %h - - [%d] "%r" %s %b "%R" "%u"

Я установил GoAccess в виде двоичного пакета из хелевого репозитория (без перекомпиляции источника).

Ответ 2

Предполагая, что вы используете строку формата CLF, я бы выполнил goaccess с помощью -c, а затем выберите NCSA Combined Log Format в меню конфигурации.

enter image description here

"$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

Ответ 3

Если вы не хотите использовать глобальные параметры, используйте параметр --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

Ответ 4

Я встретил ту же проблему с вами! Правильный путь к файлу конфигурации "/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

и повторите попытку, я желаю вам успеха