Nous avons quelques serveurs web et j'ai l'intention de créer un tableau de bord pour afficher les statistiques en temps réel : adresse IP, géolocalisation et autres données personnalisées basées sur des consultations de bases de données. Splunk convient parfaitement mais je me demande s'il existe une alternative open source. J'ai regardé logstash et graylog2, mais à ma connaissance, il s'agit plutôt d'outils d'analyse de logs. Piwik est assez intéressant, mais je ne peux pas mettre de javascript sur les pages web. Tout ce à quoi j'ai accès est le journal Web d'Apache. Des recommandations s'il vous plaît
Réponses
Trop de publicités?Visiteurs dispose d'un mode en temps réel et peut vous montrer des informations de base telles que les pages les plus visitées, les heures/jours les plus chauds et même une analyse visuelle du parcours.
Vous pouvez également alimenter vos journaux Apache vers MySQL avec syslog-ng
et ensuite utiliser des frontaux tels que logzilla (précédemment connu sous le nom de php-syslog-ng ) pour l'interrogation des données.
Une question intéressante, d'ailleurs - je suis tout ouïe pour de meilleures solutions ! +1 à votre question pour cette raison :)
Dans quel but ?
Il y a vraiment deux branches de l'analyse web : les informations marketing et les informations sur les performances (et la conception de l'interface utilisateur qui recouvre les deux).
Google Analytics, Open Web Analytics, Piwik et dans une moindre mesure AWstats, Analog et al ont pour objectif principal de collecter des informations marketing (quelle est votre base de clients, où sont-ils, quels navigateurs utilisent-ils, quel est le taux de conversion...).
Le côté performance n'offre pas autant de choix - mais statsd + graphite fournit un backend solide pour stocker et présenter des données provenant de sources multiples (logs, bugs javascript). Je suis actuellement en train de planifier une installation utilisant ce back-end et Yahoo Boomerang pour collecter les temps de chargement des pages. Jetez un coup d'œil à Graphène pour un exemple de ce qu'il peut faire. Ecrire, disons un awk script, pour analyser les logs et alimenter le backend serait trivial.
Il existe également des outils comme PastMon qui peuvent renifler et rapporter de nombreuses statistiques réseau de bas niveau. Ou mrtg.
Comme vous l'avez mentionné, il y a Piwik qui dispose d'une API de suivi flexible, vous pouvez à la fois insérer Javascript avec <noscript>
ou insérer une simple image dans vos pages.
Insérez le code suivant, comme suggéré sur le fonctionnaire API de suivi Piwik page :
<!-- Piwik Image Tracker -->
<img src="http://demo.piwik.org/piwik.php?idsite={$IDSITE}&rec=1" style="border:0" alt="" />
<!-- End Piwik -->
Pas besoin de JS pour les fonctionnalités de base :)
Merci pour tous ces conseils. J'ai actuellement configuré logstash sur le client pour qu'il envoie ses journaux d'accès à un serveur central rabbitmq et j'utilise une autre instance de logstash pour analyser les données dans elasticsearch. Avec le RESTApi d'elasticsearch, j'ai pu créer quelques tableaux de bord intéressants (comme la localisation actuelle des utilisateurs accédant au serveur web).