[Tuto/HowTo] [GNU/Linux] Piwik importer fichiers Logs

Tracking web, logs, applications etc (par exemple piwik)
Avatar du membre
voxdemonix
Messages : 1237
Enregistré le : lun. févr. 02, 2015 7:28 pm

[Tuto/HowTo] [GNU/Linux] Piwik importer fichiers Logs

Message par voxdemonix » sam. oct. 08, 2016 10:49 pm

Introduction

[_soucoupe1_] Un grand pouvoir implique de grandes responsabilité, n'abusez ni du tracking ni des infos collectées ! [_Sith1_]
  • Piwik fournis import_logs.py situé dans path/piwik/misc/ qui permet de lire les fichiers logs et de les ajouter via http à vos statistiques piwik. Ce mécanisme ne respecte pas DoNotTrack. Ce mécanisme est surtout utile pour analyser des fichiers importé depuis d'autres serveurs ou centralisé (voir ici). De base (avec php/javascript) piwik s'abstient d'afficher les fichiers annexes d'une page (css, javascript, images et autre contenu), par contre avec import_logs.py tous ça va être comptabilisé comme des actions/vues.
    • screenshot_09-10-2016_Piwik_Demo_DashboardApresImportFichierLog.png
    Il est fortement déconseillé de s'en servir pour lire les fichiers logs du serveur hébergeant piwik au risque de pourrir les statistiques (surtout si vous trackez plusieurs sites). Ne scannez surtout pas des logs d'un serveur owncloud si non votre nombre de vue va exploser complètement et la vie privée de vos utilisateurs va en pâtir durement (piwik, via les fichiers logs, arrive a récupérer les pseudo des utilisateurs et les affiche dans le Dashboard).
    • screenshot_09-10-2016_Piwik_Demo_DashboardApresImportFichierLog_Graphique.png
Farm Link
Mise en place
  1. Adaptez puis lancez cette commande pour tester
    • Code : Tout sélectionner

      sudo python /var/www/html/services/piwik/misc/log-analytics/import_logs.py --url=http://127.0.0.1/services/piwik/ --idsite=2 --recorders=4 --enable-http-errors --enable-http-redirects --enable-bots /var/log/apache2/access.log
      • /var/www/html/services/piwik/misc/log-analytics/import_logs.py => le PATH pour joindre le fichier import_logs.py dans le système de fichier
        http://127.0.0.1/services/piwik/ => remplacez par l'url pour joindre votre piwik sur votre réseau
        --idsite=2 => l'identifiant piwik du site auquel relier ces infos
        /var/log/apache2/access.log => remplacez par le PATH de votre fichier log dans votre système de fichier
        Note : vous pouvez trouver la liste des options en suivant ce lien.
  2. Si cela fonctionne, placez votre commande dans un script
    Créez un dossier pour nos scripts Ouvrez votre éditeur de texte en créant le script Adaptez la commande puis collez la dans l'éditeur de texte (CTRL+X pour sauver&quitter)
    • Code : Tout sélectionner

      #!/bin/bash
      	# lecture du fichier logs
      python /var/www/html/services/piwik/misc/log-analytics/import_logs.py --url=http://127.0.0.1/services/piwik/ --idsite=2 --recorders=4 --enable-http-errors --enable-http-redirects --enable-bots /var/log/apache2/access.log
      	# purge du fichier logs
      echo "" > /var/log/apache2/access.log
      
      	# mise à jours des statistiques (vous pouvez désactiver 'Browser trigger archiving' dans la WEBUI de Piwik > Settings > General Settings)
      	# ATTENTION : nécessite suffisamment de RAM pour mettre à genoux un RPI1
      /var/www/html/services/piwik/console core:archive --force-all-websites --force-all-periods=315576000 --force-date-last-n=1000 --url='http://127.0.0.1/services/piwik/'
      
      • /var/www/html/services/piwik/misc/log-analytics/import_logs.py => le PATH pour joindre le fichier import_logs.py dans le système de fichier
        http://127.0.0.1/services/piwik/ => remplacez par l'url pour joindre votre piwik sur votre réseau
        --idsite=2 => l'identifiant piwik du site auquel relier ces infos
        /var/log/apache2/access.log => remplacez par le PATH de votre fichier log dans votre système de fichier
        Note : vous pouvez trouver la liste des options en suivant ce lien.
    Rendez exécutable le script nouvellement créé Accordez le bon propriétaire au script
    • Code : Tout sélectionner

      sudo chown root:$USER /opt/scripts/updatePiwikStatViaLog.sh
      $USER => vaut votre utilisateur session, remplacez par l'utilisateur de votre choix ou root
  3. Ensuite éditez votre cron en root
  4. Choisissez l'option 2 (nano)
  5. Ajoutez la ligne suivante puis sauvez&quittez avec CTRL+X
    • Code : Tout sélectionner

      30 3 * * *  /opt/scripts/updatePiwikStatViaLog.sh
      • Ce cron appellera votre script tout les jours a 3h30 du matin avec l'utilisateur cron. Si vous souhaitez l’exécuter toute les heures remplacez par le code suivant

        Code : Tout sélectionner

        30 * * * *  /opt/scripts/updatePiwikStatViaLog.sh
Screenshot
  • curl détecté grâce à l'import des fichiers logs, ici le couple IP et Hostname est étrange de part son incompatibilité (pas de hairpinning).
    • screenshot_09-10-2016_Piwik_Demo_ApresImportFichierLog_TrucBizare.png
    Un bot qui se fait passer pour un humain sur un Iphone, détecté après avoir posté le lien du tuto sur twitter.
    • screenshot_09-10-2016_Piwik_Demo_ApresImportFichierLog_BotQuiSeFaitPasserPourUnIphone.png
    Trucs bizares avec apache2 détecté après l'import des logs.
    • screenshot_09-10-2016_Piwik_Demo_ApresImportFichierLog_trucBizareAvecApache2.png
    Le module d'affichage d'image sur LinuxFR.
    • screenshot_23-10-2016_Piwik_DetectionLinuxFrGoPackageAffichageImage.png
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
~ Infernalis Creatorem ~
  • Rejoins le côté obscure, on a des cookies !
Donation Bitcoin : 1N8QGrhJGWdZNQNSspm3rSGjtXaXv9Ngat
Donation Dash : XmowiBRku3tsEREp7PhpheY4TgeLLDyKdM

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 0 invité