awstats anonymisieren

Dieses Thema im Forum "Tipps - Tricks - Mods" wurde erstellt von mare, 4. Feb. 2013.

  1. mare

    mare Member

    Mit folgenden Handgriffen kann man die Auswertung anonymisieren.
    Die originalen Logfiles bleiben unverändert!

    Download des Tools ipv6loganon von Peter Bieringer.
    Code:
    cd /tmp/
    wget ftp://ftp.bieringer.de/pub/linux/IPv6/ipv6calc/ipv6calc-0.93.1.tar.gz
    
    Damit werden die IPv4 Adressen auf /24 und die IPv6 auf /48 gekürzt.

    Das Toolset einfach entpacken
    Code:
    tar xzf ipv6calc-0.93.1.tar.gz 
    cd ipv6calc-0.93.1
    
    mit
    Code:
    ./autogen.sh
    kompilieren und die Datei ipv6loganon/ipv6loganon ins
    /usr/local/bin kopieren.

    In der /usr/local/ispconfig/server/cron_daily.php

    Zeile 354
    - LogFile="/var/log/ispconfig/httpd/'.$domain.'/yesterday-access.log"
    + LogFile="/var/log/ispconfig/httpd/'.$domain.'/yesterday-access.log.anon"

    und ab Zeile 396
    Code:
    if($awstats_pl != '' && $awstats_buildstaticpages_pl != '' && fileowner($awstats_pl) == 0 && fileowner($awstats_buildstaticpages_pl) == 0){
    exec($command);
    
    durch
    Code:
    if($awstats_pl != '' && $awstats_buildstaticpages_pl != '' && fileowner($awstats_pl) == 0 && fileowner($awstats_buildstaticpages_pl) == 0) {
    {
    exec('cat '.$logfile.' | /usr/local/bin/ipv6loganon -w /var/log/ispconfig/httpd/'.$domain.'/yesterday-access.log.anon') ;
    exec($command);
    }
    
    ersetzen.

    Dann werden die Auswertung ab sofort anonymisiert.
    Mit webalyzer ist das vorgehen identisch.

    Bei Bedarf würde ich einen Patch erstellen, der auch eine Option im StatisktikTAB machen wo man das pro Web einstellen kann.
    Man könnte sogar auswählen wie weit man die IPs anonymisieren will.
     
    Zuletzt bearbeitet: 4. Feb. 2013
  2. Till

    Till Administrator

    Danke für die Anleitung! Wäre super wenn Du dafür einen Patch erstellen könntest.
     
  3. mare

    mare Member

    Hi,
    @Till
    Wenn das Zial klar ist, kann ich das machen.

    Die Idee war gut, das Ergebnis aber nicht bedacht.
    Wenn man alle IPs auf die /24 kürzt stimmt die Statistik nicht mehr da awstats ja nur die a.b.c.0 sieht :(

    Was noch möglich wäre, wäre das awstats file nachträglich zu anonymisieren, was mit dem Tool auch ginge da die IP an erster Stelle steht.

    Allerdings müßte das dann täglich gleich nach dem buildstats laufen. Aber auch hier werden ja die Counter verfälscht :confused:
     
  4. florian030

    florian030 Member

    Ich nehme zwar nicht AWStats, sondern u.a. Webalizer... Bei mir sind schon die Apache-Logs anonym (d.h. 1.2.3.4 statt 1.2.3.0) und die Statistiken stimmen dennoch.

    Bist Du dir sicher, dass das Problem an AWStats liegt?
     
  5. mare

    mare Member

    Hi,
    Das ist interessant.

    Ich habe das Logfile im Original sowie die anonymisierte Version durch awstats gejagt.
    Original 20000 Besucher / Anonym 8000 Besucher .

    Irgendwie auch nachvollziehbar wenn aus

    213.1.1.12 -
    213.1.1.45 -
    231.1.1.198 -

    dann

    213.1.1.0 -
    213.1.1.0 -
    231.1.1.0 -

    wird.
     
  6. florian030

    florian030 Member

    Ich habe das eben noch mal bei mir abgeglichen.... das sieht unter AWStats ähnlich aus. D.h. die "Sites" variieren, der Rest passt aber zu dem Full-Log.

    Ich persönlich kann damit ganz gut leben. ;)

    Wenn Du die erstellten Statistiken anpassen willst, musst Du ggf. aber auch den Hostnamen mit anpassen.

    Aber etwas sinnvolleres als aus 1.2.3.4 1.2.3.0 zu machen, fällt mir beim besten Willen nicht ein.
     
  7. nowayback

    nowayback Well-Known Member

    Hi,

    sinnvollerweise sollten die Logs unangetastet bleiben und nur bei der Ausgabe auf der Seite die letzten Zahlen nach dem Punkt zu nem X werden oder sowas...


    grüße
    nwb
     
  8. florian030

    florian030 Member

    Naja, ich gönnen mir den Luxus von zwei Logs - einmal full und einmal anonym. Und wenn es nur um anonyme Statistiken geht, kann man Logs auch dazu kopieren.
     
  9. mare

    mare Member

    Also die Unterschiede zwischen Full und Anon bekomme ich mit awstats nicht weg. Ich habe es jetzt so gemacht:

    - Auswertung werten ganz normal erstellen
    - im cron_daily.php cat awstats----.txt | ipv6loganon -w awstats---.anon.
    - awstats.pl einmal unter /usr/lokal/bin/awstats.pl zum erstellen der DB.
    - Das awstats für die Ausgabe unter /srv/www/cgi-bin/awstat.pl kopiert und so geändert, dass es auf die .anon zugreift.
    - im build_static.pl den Pfad für die Erstellung der statischen HTMLs auf die zweite Instanz geändert.

    Damit werden die Logs komplett geschrieben und die statische sowie dynamische Ausgabe der Logs ist anonymisiert.
     

Diese Seite empfehlen