Анализатор логов для nginx [закрыт]


13

У меня есть веб-приложение, работающее с nginx, и я хотел бы проанализировать журналы, чтобы получить информацию о том, сколько обращений получает каждый файл, какие 404-е и другие ошибки мы генерируем (чего не может предоставить Google Analytics).

Обычно я просто отбрасываю awstats на сервере, но с nginx из-за отсутствия cgi-bin это не тривиально. Есть ли другое тривиальное решение для получения этой информации? Я не против заплатить третьей стороне за этот анализ для меня.

Ответы:


20

Вы можете использовать goaccess для анализа ваших веб-журналов и получения сводки посещений, уникальных IP-адресов, топовых статических файлов, топ-404, разных кодов состояния и многого другого. Он отображает первую сводную информацию на высшем уровне, а затем позволяет в интерактивном режиме просматривать каждую основную главу. Вы кормите его лог-файлом или трубкой, и это очень быстро.

Я обнаружил это здесь, в SF, и с тех пор он изменил мой взгляд на журналы веб-сервера: я склонен проводить оппортунистический анализ проблем, основанный на проблемах, и был недоволен аналогами, awstats и webalizer.


Вау, спасибо за упоминание GoAccess, это чертовски здорово!
Richie086

6

Если вы хотите испачкать руку, я бы посоветовал вам использовать Logstash + ElasticSearch + Kibana .

Он может делать гораздо больше, чем вы просите, но он может делать то, что вы просите хорошо, и у вас будет истинный интерфейс, чтобы на самом деле просматривать ваши журналы, чтобы понять, что происходит или происходит.

Это демо- сайт Kibana

Это сообщение в блоге, в котором показано, как он был настроен для анализа Apache Tomcat с этой платформой, вы можете просто адаптировать его к вашим потребностям: http://spredzy.wordpress.com/2013/03/02/monitor-your-cluster -of-приложения Tomcat-с-logstash-и-kibana-/


1
+1 за правильный ответ.
Том О'Коннор

1

Я должен был использовать awstats с Nginx на этой неделе, и вам не обязательно использовать cgi-bin. Awstats поставляется со скриптом awstats_buildstaticpages.pl, который генерирует статические html-файлы, которые затем можно использовать в Nginx. При работе cron я регулярно обновляю html-файлы.

/usr/share/doc/awstats/examples/awstats_updateall.pl now -awstatsprog=/usr/lib/cgi-bin/awstats.pl

/usr/share/awstats/tools/awstats_buildstaticpages.pl -update -config=domain.com -dir=/path/to/save/html/files awstatsprog=/usr/lib/cgi-bin/awstats.pl (В зависимости от вашей ОС пути могут немного отличаться, но вы сможете найти сценарии)

Чтобы предотвратить потерю данных при ротации журнала, вы можете добавить эту строку в ваш файл awstats.domain.com.conf:

LogFile="/usr/share/awstats/tools/logresolvemerge.pl /path/to/log/access.domain.tld.log /path/to/log/access.domain.tld.log.1 |"

Сценарий объединит последние 2 журнала, когда вы извлекаете журнал для обновления ваших данных. Или вы можете добавить ловушку pre-logrotate на Nginx, как они делают здесь: http://www.bytetouch.com/blog/system-administration/how-to-awstats-installation-and-configuration-on-debian/


0

Зависит от требуемого уровня функциональности, но AFAIK позволяет AWStats генерировать статические файлы - поэтому нет необходимости в cgi.

Наоборот - должна быть возможность запустить AWStats как скрипт FastCGI. Я бы сказал, что это не будет даже слишком много взлома.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.