J'ai une application Web exécutée avec nginx et je voudrais analyser les journaux pour obtenir des informations sur le nombre de hits de chaque fichier et sur les 404 et autres erreurs que nous générons (ce que Google Analytics ne peut pas fournir).
Normalement, je laisserais simplement des awstats sur un serveur, mais avec nginx, en raison du manque de cgi-bin, ce n'est pas anodin. Existe-t-il une autre solution triviale pour obtenir ces informations? Cela ne me dérange pas de payer un tiers pour faire cette analyse pour moi.
Si vous êtes prêt à vous salir la main, je vous conseille d'utiliser Logstash + ElasticSearch + Kibana .
Il peut faire bien plus que ce que vous demandez, mais il peut bien faire ce que vous demandez, et vous aurez une véritable inférface pour parcourir réellement vos journaux pour comprendre ce qui se passe - ou s'est passé -.
Ceci est le site de démonstration de Kibana
Il s'agit d'un article de blog qui montre comment il a été configuré pour analyser Apache Tomcat avec cette plate-forme, vous pouvez simplement l'adapter à vos besoins: http://spredzy.wordpress.com/2013/03/02/monitor-your-cluster -des-applications-tomcat-avec-logstash-et-kibana /
la source
J'ai dû utiliser awstats avec Nginx cette semaine et vous n'avez pas besoin d'utiliser nécessairement cgi-bin. Awstats est fourni avec le script awstats_buildstaticpages.pl qui générera des fichiers html statiques que vous pourrez ensuite utiliser avec Nginx. Avec un travail cron, je mets régulièrement à jour les fichiers 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
(Selon votre système d'exploitation, les chemins peuvent différer un peu, mais vous pourrez trouver les scripts)Afin d'éviter la perte de données pendant la rotation du journal, vous pouvez ajouter cette ligne à votre fichier 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 |"
Le script fusionnera les 2 derniers journaux chaque fois que vous récupérez le journal pour mettre à jour vos données. Ou vous pouvez ajouter un crochet de pré-enregistrement sur Nginx comme ils le font ici: http://www.bytetouch.com/blog/system-administration/how-to-awstats-installation-and-configuration-on-debian/
la source
Cela dépend du niveau de fonctionnalité dont vous avez besoin, mais AFAIK, il est possible de faire en sorte qu'AWStats génère des fichiers statiques - donc pas besoin de cgi.
L'inverse - il devrait être possible de faire tourner AWStats en tant que script FastCGI. Je dirais que ce ne sera même pas trop de piratage.
la source