Analyseur de journaux pour nginx [fermé]

13

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.

pupeno
la source

Réponses:

20

Vous pouvez utiliser goaccess pour analyser vos journaux Web et obtenir un résumé des accès, des adresses IP uniques, des fichiers statiques les plus importants, des 404 meilleurs, des codes d'état différents et plus encore. Il affiche un premier résumé d'informations de niveau supérieur, puis vous permet d'explorer chaque chapitre principal de manière interactive. Vous lui alimentez un fichier journal ou une pipe et c'est très rapide.

Je l'ai découvert ici sur SF et il a depuis changé ma façon de regarder les journaux de serveur Web: j'ai tendance à faire une analyse de journal opportuniste et axée sur les problèmes et j'étais insatisfait de l'analogique, des awstats et du webalizer.

blau
la source
Wow, merci d'avoir mentionné GoAccess, c'est vraiment incroyable!
Richie086
6

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 /

Spredzy
la source
1
+1 pour la bonne réponse.
Tom O'Connor
1

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/

user178412
la source
0

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.

Renard
la source