Forum général.cherche-logiciel Analyse statistiques de logs web

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
1
5
avr.
2013

Bonjour, un petit site confidentiel que j'administre vient de manger plus d'un millions de hits dans les 48h suivant la publications de certains articles, et devrait passer la barre du 1.5 million dans la soirée sachant qu'hier soir j'avais une fréquentation de 5 articles lus chaque 10 secondes (je ne parle pas des hits) et que ce soir ça continue avec 3 articles chaque 10 secondes (40 hits dans la même durée)…

Comme ledit site ne comptait que 3/4 pages et ne voyait passer comme seul visiteur qu'un malheureux bot tous les 36 du mois… J'ai procrastiné l'installation d'un système de statistiques… Mais là j'aimerai bien analyser mes logs, maintenant que j'ai de la matière !

Une brève analyse à coup de grep semble me montrer que j'ai 1.7% d'utilisateurs de GNU/Linux (2% dans les premières 24h), 4% d'Android, quelques ChromeOS, et j'ai même reçu la visite d'un Solaris alors que le public visé n'est pas du tout mais pas du tout technique.

Mon serveur http est Nginx.

Vous auriez une suggestion pour découper tout cela au hachoir et faire de belles stastiques pleines de nimages ?

En plus, il faut savoir que j'ai un Nginx qui fait reverse proxy devant le Nginx qui sert les pages. Je ne sais pas s'il existe des outils qui savent étudier deux sources de logs pour les mêmes événements.

Par exemple je sais que lors du pic de fréquentation durant les 5 premières heures, le reverse proxy ne tenait pas la charge fasse à un nombre impressionnant de requêtes et que le serveur derrière n'a donc pas tout reçu.

Merci à vous pour vos suggestions !

  • # quelles n'ymphos ?

    Posté par  (site web personnel) . Évalué à 2.

    Comment t'as fait pour saturer un NginX avec 0.5 pages / s ? ça envoit du paté normalement, surtout qu'en reverse proxy il y a pas de traitements bien lourds…

    Tu cherches quelquechose de plus kikou qu'awstats ? Quelles infos cherches tu à mettre en valeur ?

    • [^] # Re: quelles n'ymphos ?

      Posté par  (site web personnel) . Évalué à 3. Dernière modification le 06 avril 2013 à 04:43.

      Comment t'as fait pour saturer un NginX avec 0.5 pages / s ? ça envoit du paté normalement, surtout qu'en reverse proxy il y a pas de traitements bien lourds…

      J'ai 0.5 page/s plusieurs heures après le pic qui a saturé Nginx, nuance. ^^
      0.5 page/s c'est la vitesse de croisière.

      Par exemple, à 21:02:51 (complètement pris au hasard dans mes logs, je ne sais pas si c'est le pire)

      $ grep '21:02:51' error.log | wc -l
      479
      
      

      Les erreurs sont du types :

      2013/04/03 21:02:51 [alert] 20442#0: accept() failed (24: Too many open files)
      2013/04/03 21:02:51 [alert] 20442#0: accept() failed (24: Too many open files)
      [-----8<-------- 149 ligne similaires ---------------------------------------]
      2013/04/03 21:02:51 [crit] 20442#0: *35565 open() "/var/lib/nginx/proxy/3/35/0000009353" failed (24: Too many open files) while reading upstream […]
      [-----8<-------- l'ensemble se répétant plusieurs fois ----------------------]
      
      

      Pendant ce temps là je lis :

      $ grep '21:02:51' access.log | wc -l
      109
      
      

      Parfois en essayant d'accéder au site on obtenait un 503 Service Unavailable, l'erreur qu'on obtient habituellement quand le reverse proxy n'atteint pas le serveur après lui. Heureusement il suffisait de réactualiser aussitôt pour obtenir la page.

      D'après ce que je lis ici ce n'est pas Nginx qui est en cause mais les limites d'ouverture de fichier simultanée configurées par défaut dans le système. Ces ulimit qui tacle Nginx quand le serveur prend des centaines de hit/s ! Mais ces limites ne sont pas là pour rien… Il faudra que je fasse des tests de charge avec différentes valeurs…

      Tu cherches quelquechose de plus kikou qu'awstats ? Quelles infos cherches tu à mettre en valeur ?

      Ben si quelqu'un saurait comparer webalizer et awstats, par exemple… Tu cites par défaut awstats, pourquoi celui-là précisément et pas un autre ?

      En soit les infos que je cherche sont classiques : système d'exploitation, navigateurs, peut-être les fournisseurs d'accès, le pays voire la région (le lectorat est essentiellement en France), et j'aimerai une finesse par heure ! Ce qui m'intéresse, c'est d'analyse la popularité champignon que j'observe, pas d'analyser la durée (qui ne durera probablement pas).

      Aussi je ne sais pas s'il est possible de croiser les logs… par exemple montrer sur le même graphique le taux de réussite et d'erreur : savoir déduire les réussites avec le log de hit et le log d'erreur, ou bien utiliser le log du serveur derrière le reverse proxy, qui ne reçoit logiquement que ce qui a pu passer le reverse proxy).

      Idée d'analyse avancée : j'ai 2.3% des hits qui proviennent de GNU/Linux en 12h, ça descend à 2% après 24h et à 1.7% après 48h. Est-ce que cela veux dire que les linuxiens sont toutes des moules qui passent leur vie sur le net et lisent donc tout avant tout le monde ? ;)

      J'ai la chance d'avoir sous la main un site qui était inconnu il y a deux jours, avec un lectorat neuf, de tout milieu et pas réputé pour sa technicité, et de faire des stats dessus… Bref, cette affaire me donne l'occasion de sonder la famille michu… ce qui peut être intéressant. Si je stabilise à 1.7~1.8% de linuxiens, c'est bien plus que ce qui est indiqué ici.

      ce commentaire est sous licence cc by 4 et précédentes

      • [^] # Re: quelles n'ymphos ?

        Posté par  (site web personnel) . Évalué à 3.

        Bon j'ai installé awstats, mais j'ai beau avoir mit les LevelForBrowsersDetection et autres LevelForOSDetection options à 2, il ne me reconnaît aucun système ni aucun navigateur… Bon par contre j'ai appris que j'ai bouffé 900go de bande passante en trois jours, avec juste du texte, des photos, et deux vidéos en SD de 1,30 et 5 min. La vache !

        Mais j'aimerai bien avoir des infos sur les systèmes d'exploitations et navigateurs… pourtant tout semble correct.

        ce commentaire est sous licence cc by 4 et précédentes

        • [^] # Re: quelles n'ymphos ?

          Posté par  . Évalué à 4.

          C'est peut-être le format des logs qui pose problème, awstat cherche peut-être là où les infos ne sont pas.

          « Rappelez-vous toujours que si la Gestapo avait les moyens de vous faire parler, les politiciens ont, eux, les moyens de vous faire taire. » Coluche

          • [^] # Re: quelles n'ymphos ?

            Posté par  (site web personnel) . Évalué à 3. Dernière modification le 06 avril 2013 à 18:26.

            Effectivement !

            Hop je donne la soluce à ceux qui passeraient ici avec une question similaire :

            (dans la conf d'awstats)

            LogFormat="%host %other %logname %time1 %methodurl %code %bytesd %refererquot %uaquot"

            mais ça demande de recalculer tous les logs, il faut donc virer le cache :

            rm /var/lib/awstats/awstatsNNNNNN.DOMAIN.txt
            
            

            Malheureusement ça ne distingue pas GNU/Linux et Android…

            ce commentaire est sous licence cc by 4 et précédentes

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.