yahi un agrégateur de statistiques dans l'esprit d'awstats

Posté par  (site web personnel) . Édité par Benoît Sibaud, palm123 et Xavier Teyssier. Modéré par Xavier Teyssier. Licence CC By‑SA.
Étiquettes :
10
24
avr.
2025
Administration système

J’ai la nostalgie d’awstats : la possibilité de faire des statistiques web sans déployer des tonnes d’infrastructure (genre Grafana).

Pour cela, j’ai codé Yahi, un module Python qui agrège dans sa forme basique les statistiques web en format usuel (nginx, apache, lighthttpd, varnish) pour les présenter dans une page web « tout en un ».

Il se décompose pour sa partie utilitaire en deux scripts:
- un d'agrégation des statistique de journaux de serveurs webs dont l'écriture d'une version personnalisée ici celle que j'utilise pour faire des démos sans IP ou URLs est relativement simple;
- un de génération d'une page de visualisation HTML avec les données.

Certes cette page requiert du JavaScript pour fonctionner, mais elle requiert zéro dépendance vers des liens externes et inclut autant toutes les visualisations que les données dans une seule page (données, CSS, visualisations). Cela permet de l’avoir en marque-page grâce à quelques ruses de javascript, et cela rend son hébergement aisé pour les sysadmins. (NdM: goaccess (MIT en C) sait faire aussi).

Son API permet en outre de faire des agrégations plus compliquées.

Et, je recherche des bétas testeurs pour en faire un produit fini.

Aller plus loin

  • # performances ?

    Posté par  . Évalué à 3 (+1/-0).

    J'ai une petite infra avec quelques services. Je génère 5M d'access logs par mois.
    Quel temps cela prendrait de générer les statistiques pour ce volume ?

    • [^] # Re: performances ?

      Posté par  (site web personnel) . Évalué à 1 (+0/-0).

      Sur ma machine je suis ~10K lignes par secondes (ce qui est la métrique pertinente au vu de la manière de parser) soit aux alentours de 2.5Mb en 1.5 seconde (core i3 3.5Ghz 2 procs).

      Il y a possibilité de par la nature du problème à paralléliser (map/reduce) si il y a besoin de performance, mais j'ai pas mis ça dans mes développements actuels.

  • # Python 2, abandonné?

    Posté par  . Évalué à 3 (+3/-0).

    Bien le bonjour, suite à ton article, j'ai tenté.
    Un bon vieux serveur sous Debian 8 Amd64 / Jessie, char d’assaut qui a survécu à plus d'une vague.
    Juste, ce n'est pas pip de python 3.
    Yahi / Debian 8 Jessie

  • # merci

    Posté par  (site web personnel) . Évalué à 1 (+0/-0).

    merci à l'équipe de linuxfr pour avoir pris le temps de rédiger la dépêche.

    La ndm sur goaccess est bienvenue car ça permet de se positionner sur le coté versatile plus que le coté web.

    Donc : merci.

Envoyer un commentaire

Suivre le flux des commentaires

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