Mam aplikację internetową działającą z nginx i chciałbym przeanalizować dzienniki, aby uzyskać informacje o tym, ile trafień otrzymuje każdy plik, jakie 404 błędy i inne generujemy błędy (coś, czego Google Analytics nie może dostarczyć).
Zwykle po prostu wstawiałbym awstaty na serwer, ale z nginx, z powodu braku cgi-bin, nie jest to trywialne. Czy istnieje inne trywialne rozwiązanie, aby uzyskać te informacje? Nie mam nic przeciwko temu, aby zapłacić za to podmiot zewnętrzny za tę analizę.
Jeśli chcesz ubrudzić rękę, radzę użyć Logstash + ElasticSearch + Kibana .
Może zrobić znacznie więcej niż to, o co prosisz, ale może zrobić to, o co prosisz, a będziesz mieć prawdziwy interfejs do przeglądania dzienników, aby zrozumieć, co się dzieje lub było.
To Kibana demo www
To jest wpis na blogu, który pokazuje, jak skonfigurowano analizę Apache Tomcat za pomocą tej platformy. Możesz po prostu dostosować ją do swoich potrzeb: http://spredzy.wordpress.com/2013/03/02/monitor-your-cluster -of-tomcat-applications-with-logstash-and-kibana /
źródło
W tym tygodniu musiałem używać awstats z Nginx i niekoniecznie musisz używać cgi-bin. Awstats zawiera skrypt awstats_buildstaticpages.pl, który wygeneruje statyczne pliki HTML, które można następnie obsługiwać w Nginx. W przypadku zadania cron regularnie aktualizuję pliki 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
(W zależności od systemu operacyjnego ścieżki mogą się nieco różnić, ale będziesz w stanie znaleźć skrypty)Aby zapobiec utracie danych podczas rotacji dziennika, możesz dodać ten wiersz do pliku 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 |"
Skrypt połączy ostatnie 2 dzienniki za każdym razem, gdy pobierasz dziennik w celu aktualizacji danych. Lub możesz dodać hak do Logrotate na Nginx, tak jak tutaj: http://www.bytetouch.com/blog/system-administration/how-to-awstats-installation-and-configuration-on-debian/
źródło
Zależy od wymaganego poziomu funkcjonalności, ale AFAIK jest możliwe, aby AWStats generował pliki statyczne - więc nie ma potrzeby używania cgi.
Odwrotnie - powinno być możliwe uruchomienie AWStats jako skryptu FastCGI. Powiedziałbym, że nie będzie to zbyt duże hakowanie.
źródło