Cheatah: Analyse des Access-Log

Hi,

ich habe gerade erstmalig den Versuch gestartet, mein Access-Log auszuwerten. Das Perl-Script dazu war schnell fertig. Mir sind aber ein paar Dinge aufgefallen, die mich stutzig machten, und ich hoffe daß einer der Anwesenden mir zu dem einen oder anderen Punkt einen Hinweis geben kann:

Alle Zeilen beginnen der Art "Hostname - User [Datum] usw.". Hostname, User und der ganze Rest sind mir klar, aber was bedeutet das "-"? Anstelle des Users steht auch ein solches, wenn keine .htaccess-Kontrolle benutzt wurde, deswegen nehme ich an, es ist ein Platzhalter. Aber für was?

Neben den Methodlen "GET" und "POST" gibt es noch "HEAD", was ich ja noch verstehe. Aber was ist "OPTIONS"?

An gleicher Stelle steht statt "Methode Datei HTTP/1.x" auch gelegentlich "-" oder "Connection: close", verbunden mit dem Status 408 bzw. 400. Was haben die beiden zu bedeuten?

In meinem Serverlog sehe ich nirgendwo den HTTP_USER_AGENT oder den Referrer (wird von Wusage ausgewertet, muß also protokolliert werden). Steht dies woanders? Wenn ja, wo, oder kann mir das nur mein Provider sagen?

Mir sind zudem einige Anfragen von Dateien aufgefallen, die ich mir nicht erklären kann:
"*", immer auch mit der ominösen Methode "OPTIONS". Status ist immer 200, keine Bytes gesendet.
"/favicon.ico". Ich hörte, dies solle vom neuesten Explorer(?) genutzt werden, um bei Bookmarks ein spezielles Icon anzuzeigen. Weiß jemand mehr darüber, z.B. welche Größe/Format die Datei haben muß?
"xxx/java/assign.class". In praktisch jedem Verzeichnis wird eine java/assign.class angefordert, immer mit Status 302 und 212 gesendeten Bytes. Was kann ich dagegen tun?
Jetzt was für Spezialisten: In fast allen Verzeichnissen, in denen .mid-Dateien stehen, wurde eine "stream.key" angefordert. Was hat es damit auf sich?

So, das war's für's erste... Fortsetzung folgt vermutlich :-) Ich danke schon mal jedem, der mir einen Hinweis geben kann!

Cheatah

  1. Hallo Cheatah,

    Alle Zeilen beginnen der Art "Hostname - User [Datum] usw.". Hostname, User und der ganze Rest sind mir klar, aber was bedeutet das "-"?

    Ei ei ei <g> - <../../tje.htm#a2>

    Neben den Methodlen "GET" und "POST" gibt es noch "HEAD", was ich ja noch verstehe. Aber was ist "OPTIONS"?

    Uups, interessant. Ich wusste nur, dass es noch PUT gibt. Na, da hilft wohl nur, in die Tiefen von HTTP einzutauchen. Kleiner Lektuere-Tip dazu: http://www.nads.de:82/~klute/WWW-Buch/1/HTTP/

    Und fuer die anderen Fragen werden sich vielleicht auch noch ein paar schlaue Koepfe finden...? ;-)

    viele Gruesse
      Stefan Muenz

    1. Hi Stefan,

      Ei ei ei <g> - <../../tje.htm#a2>

      uiiii... Asche auf mein Haupt! :-)

      Neben den Methodlen "GET" und "POST" gibt es noch "HEAD", was ich ja noch verstehe. Aber was ist "OPTIONS"?

      Uups, interessant. Ich wusste nur, dass es noch PUT gibt. Na, da hilft wohl nur, in die Tiefen von HTTP einzutauchen. Kleiner Lektuere-Tip dazu: http://www.nads.de:82/~klute/WWW-Buch/1/HTTP/

      Danke für den Link! Da werde ich mich noch mal etwas umschauen. Leider steht OPTIONS auch nicht dabei :-(

      Und fuer die anderen Fragen werden sich vielleicht auch noch ein paar schlaue Koepfe finden...? ;-)

      An dieser Stelle danke an Rufinus (ich schreibe meine Auswertung selbst *g* aber die Auswertung liefert 'ne gute Grundlage) und Knud (ich muß wohl mal mit meinem Provider reden...) für die beiden anderen Antworten. Speziell an Knud hier noch eine Frage:
      Mir wurde vom Provider in einem anderen Zusammenhang gesagt, ich solle eine leere Datei "dns" in meinem Wusage-Verzeichnis ablegen, damit statt der IP-Adresse der Hostname angezeigt wird. Gibt es so etwas auch für den User_Agent o.ä.?

      Danke,

      Cheatah

      1. Hallo!

        Danke für den Link! Da werde ich mich noch mal etwas umschauen. Leider steht OPTIONS auch nicht dabei :-(

        Schau mal da: http://w3c.org/Protocols/HTTP/1.1/draft-ietf-http-v11-spec-rev-06.txt (Kapitel 9). Ist offenbar erst in HTTP 1.1 enthalten, denn in http://www.w3.org/Protocols/HTTP/1.0/spec.html (kapitel 8) findet OPTIONS noch keine Erwaehnung.

        Calocybe

        1. Hi Calocybe,

          Danke für den Link! Da werde ich mich noch mal etwas umschauen. Leider steht OPTIONS auch nicht dabei :-(

          Schau mal da: http://w3c.org/Protocols/HTTP/1.1/draft-ietf-http-v11-spec-rev-06.txt (Kapitel 9). Ist offenbar erst in HTTP 1.1 enthalten, denn in http://www.w3.org/Protocols/HTTP/1.0/spec.html (kapitel 8) findet OPTIONS noch keine Erwaehnung.

          danke! Jetzt bin ich klüger :-)

          Mich wundert nur, daß die Requests immer "OPTIONS * HTTP/1.0" lauten, wenn es erst ab 1.1 geht... aber naja :-) Jetzt würde ich gerne noch wissen, *wer* da nachfragt (sind z.B. diverse t-online.de- und nacamar.de-Zugänge), und *was* dann mit den Daten gemacht wird. Die Anfrage scheint immer kurz nach einer Anfrage eines bestimmten Scripts zu sein, das eine Grafik zurückliefert...

          Cheatah

      2. Mir wurde vom Provider in einem anderen Zusammenhang gesagt, ich solle eine leere Datei "dns" in meinem Wusage-Verzeichnis ablegen, damit statt der IP-Adresse der Hostname angezeigt wird. Gibt es so etwas auch für den User_Agent o.ä.?

        Nach meinen Informationen ist der dns Abgeleich irgendwo Serverseitig einstellbar (ich weiß aber nicht genau wo ...)

        Für das Logfile gilt folgendes:
        Erweitertes Logfile (in http.conf)

        LogFormat "169 %h %l %u %t "%r" %s %b "%{Referer}i" "%{User-Agent}i"

        Spar Logfile :-)
        LogFormat "167 %h %l %u %t "%r" %s %b"

        Schau dir als Beispiel für o.g. Auswertung eine gespeicherte Statistikseite bei mir an: http://internet-partner.de/stats.html (ist ca. 1 monat alt ~24 h)

        Gruß Knud

        1. Hi Knud,

          Für das Logfile gilt folgendes:
          Erweitertes Logfile (in http.conf)

          LogFormat "169 %h %l %u %t "%r" %s %b "%{Referer}i" "%{User-Agent}i"

          Spar Logfile :-)
          LogFormat "167 %h %l %u %t "%r" %s %b"

          da ich keinen Zugriff auf die http.conf habe (hat doch nur root, oder?), kann ich damit leider nicht viel machen... jedenfalls bestätigt es meine momentane Auswertung :-) Ich muß wohl doch mal mit meinem Provider reden.
          Hat die Zahl am Anfang eine bestimmte Bedeutung?

          Schau dir als Beispiel für o.g. Auswertung eine gespeicherte Statistikseite bei mir an: http://internet-partner.de/stats.html (ist ca. 1 monat alt ~24 h)

          Danke, Du hättest aber erwähnen sollen, daß ich eine 1.307KB-Tabelle mit JavaScript-Fehler ("RandomBackground is not defined" an mehreren Stellen) lade ;-)

          Cheatah

          1. LogFormat "169 %h %l %u %t "%r" %s %b "%{Referer}i" "%{User-Agent}i"

            LogFormat "167 %h %l %u %t "%r" %s %b"

            da ich keinen Zugriff auf die http.conf habe (hat doch nur root, oder?), kann ich damit leider nicht viel machen... jedenfalls bestätigt es meine momentane Auswertung :-) Ich muß wohl doch mal mit meinem Provider reden.
            Hat die Zahl am Anfang eine bestimmte Bedeutung?

            JaNein ... für Dich nicht, aber sie repräsentiert die acc.nr bzw. letzte Stelle der IP. in der access_log die Dir dann letztendlich zur Verfügung steht dürfte diese erste Zahl gefiltert sein.

            Schau dir als Beispiel für o.g. Auswertung eine gespeicherte Statistikseite bei mir an: http://internet-partner.de/stats.html (ist ca. 1 monat alt ~24 h)

            Danke, Du hättest aber erwähnen sollen, daß ich eine 1.307KB-Tabelle mit JavaScript-Fehler ("RandomBackground is not defined" an mehreren Stellen) lade ;-)

            Also das mit den 1,3 MB ist wohl so ... das sind ca. 200 Besucher am Tag ... aber JavaScript errors können da eigentlich nicht drin sein, da es eine "normale" HTML-Datei ist. Es sei denn Du meinst Fehlerhafte Aufrufe innhalb meines Logs, die liegen daran, daß einige Leser nicht aufpassen und bei den Java-Script Seiten doch versuchen mit IE auf die NS Seiten zuzugreifen, weil sie z.B. den untenstehenden Hinweis nicht gelesen haben. Auf alle fälle verursacht das einen Fehlerhaften Eintrag (404) denn nur NS löst das Hintergrundsbild im Body-Tag auf.

            Gruß Knud

  2. Hi,

    ich habe gerade erstmalig den Versuch gestartet, mein Access-Log auszuwerten. Das Perl-Script dazu war schnell fertig. Mir sind aber ein paar Dinge aufgefallen, die mich stutzig machten, und ich hoffe daß einer der Anwesenden mir zu dem einen oder anderen Punkt einen Hinweis geben kann:

    Hallo Cheatah,

    ich hab da mal was im Web gefunden ist ein CGI namens WebLog, ziemlich großes teil, hat aber eine erstklassige auswertung.

    http://www.cwd.at/report/log.html alles was da drinn steht hat er aus dem Access_log.

    Nur weiß ich nicht wie "leicht" es ist den Codezuverstehen.
    Ich hab noch die ZIP von dem Programm, nachricht genügt dann mail ich es dir.

    CU
    Rufinus

  3. In meinem Serverlog sehe ich nirgendwo den HTTP_USER_AGENT oder den Referrer (wird von Wusage ausgewertet, muß also protokolliert werden). Steht dies woanders? Wenn ja, wo, oder kann mir das nur mein Provider sagen?

    Hallo,
    user Agent und referrer werden nur bei einer erweitereten Access_log angezeigt. Je nach Einstellung beim Provider kann in der .conf Datei deines virutellen Servers definiert werden, welche Informationen gespeichert werden.

    Um Platz und Zeit zu sparen verwenden die meisten Provider nur ein minimales log. Bei einem vollständigem Log sind leider die Dateien auch beliebig groß :-( bei ca. 300 Besuchern sind das täglich ~2 MB ... Das ist schon ne Menge Holz im Monat, die man erstmal täglich downloaden will bzw. online auswerten (was die meisten Provider garnicht gerne mögen, wg. Rechnerresourcen).

    Gruß Knud