tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
9
ZUGRIFFE
332
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    TribunM TribunM ist offline Mitglied Gold
    Registriert seit
    May 2004
    Beiträge
    177
    Hallo,

    also ich habe eine Nachfrage bezüglich den Möglichkeiten für ein erweitertes Monitoring.
    Was empfehlt ihr da? Also im konkreten möchte ich mitloggen wenn eine Seite z.b. abbricht, weil ein Fehler aufgetreten ist oder wenn eine Antwort von einem Script einfach ausfällt.

    Wird das vom Apache vielleicht sowieso mitgeloggt? Ziel ist, dass ich mitkriege wenn eben solche Fehler auftreten und ich dann reagieren kann. Ich kann mir zwar z.b. eine E-mail schicken lassen, wenn ein Ergebnis falsch ist, aber wenn es eben ausbleibt weil die Seite nicht richtig läd oder abbricht bekomme ich logischerweise nix.

    Wie kann man das abfangen und welche Möglichkeiten gibt es so?

    Vielen Dank für eure Tipps.
     

  2. #2
    Avatar von saftmeister
    saftmeister saftmeister ist offline Der Saft sei mit dir
    tutorials.de Premium-User
    Registriert seit
    May 2006
    Ort
    There is no place like 127.0.0.1
    Beiträge
    3.520
    Grundsätzlich hängt die Art des Loggings (konkrete Implementierung) natürlich davon ab, wie du deine Seite gebaut hast. Sprich prozedural oder eher in OOP.

    Da PHP als Webserver-Modul läuft und kontext-bezogen ist, gilt der Aufruf als beendet, wenn der Apache oder welcher Webserver auch immer das Ergebnis der Parser entgegen genommen hat. Danach kann PHP nichts mehr mitbekommen. Sollte klar sein. Auch der Apache/$anderer_webserver wird das nicht mitloggen, da im Regelfall nicht gebraucht.

    Wie man das mit dem Ergebnis machen könnte, wäre durch die folgende Idee beschrieben: Merke dir, wann die Anfrage abgeschickt wurde (z.B in einer DB). Wenn die Bestätigung durch den Benutzer rein kommt, kannst du die Anfrage als erledigt markieren. Minütlich/$belieber_zeitrahmen prüfst du mittels Cronjob/Geplanter Task/anderer zeitgesteuerter Dienst, ob seit längerer Zeit Anfragen (durch den Benutzer) unbeantwortet liegen geblieben sind. Wenn ja, E-Mail raus oder beliebige andere Reaktionen.

    Kurz gesagt: Für dein Vorhaben gibt es kein Rezept, nach dem man vorgehen könnte. Wenn du etwas klarer in der Fragestellung bist, kann man dir vllt. helfen. So ist es eine Glas-Kugel-Aufgabe.
     
    Grüße
    --
    Qualität des Codes wird in WTF's/Min gemessen: Je mehr, desto schlechter der Code ;-)

  3. #3
    TribunM TribunM ist offline Mitglied Gold
    Registriert seit
    May 2004
    Beiträge
    177
    Nein du beschreibst das schon richtig. Die Idee mit Cron ist mir auch schon gekommen, aber dachte das geht über den Apache. Also müsste ich das dann so machen. Ich schreibe den Request in die Datenbank. Kommt der Resonse, schreibe ich den auch dort rein. Kommt keiner, so wird ein Fehler aufgetreten sein. Klingt erstmal logisch

    Die Requests schreibe ich bereits in die Datenbank und die Responses auch. Mir fehlt also im Grunde genommen noch die "Monitoringschicht". Die löse ich dann also nach deiner Meinung über SQL anstatt über Apache.

    Also schicke ich entweder nen Cron oder nen SQL Ereignis die den Response überprüft. Ja so könnte ich mir das vorstellen. So ne Abfrage dürfte nicht viel Ressourcen benötigen?
     

  4. #4
    Avatar von saftmeister
    saftmeister saftmeister ist offline Der Saft sei mit dir
    tutorials.de Premium-User
    Registriert seit
    May 2006
    Ort
    There is no place like 127.0.0.1
    Beiträge
    3.520
    Zitat Zitat von TribunM Beitrag anzeigen
    So ne Abfrage dürfte nicht viel Ressourcen benötigen?
    Nicht wesentlich mehr als jede andere Abfrage von diesem Kaliber. Klingt erstmal nach wenig Aufwand, resourcentechnisch als auch programmatisch.
     
    Grüße
    --
    Qualität des Codes wird in WTF's/Min gemessen: Je mehr, desto schlechter der Code ;-)

  5. #5
    TribunM TribunM ist offline Mitglied Gold
    Registriert seit
    May 2004
    Beiträge
    177
    ne denke programmtechnisch ist das einfach. Eher vom Konzept mehr Aufwand, was überprüft wird, wie das geschieht und natürlich was dann passieren soll. Aber vom Aufbau her ist mir das schon fast klar. Werde dann am Anfang der Seite eine Abfrage Start und am Ende eine mit Ende und den Parametern machen. Kommt da unten nix oder etwas falsch an, kann man das ja mit verarbeiten und an so einen Monitoringdienst schicken lassen.

    Hast du vielleicht eine Empfehlung welcher da gut ist und evtl. nicht viel oder sogar gar nichts kostet?
     

  6. #6
    Avatar von saftmeister
    saftmeister saftmeister ist offline Der Saft sei mit dir
    tutorials.de Premium-User
    Registriert seit
    May 2006
    Ort
    There is no place like 127.0.0.1
    Beiträge
    3.520
    Du könntest den Zend Server (Community Edition) verwenden, der hat Monitoring-Funktionen:

    http://www.zend.com/en/products/server-ce/index
     
    Grüße
    --
    Qualität des Codes wird in WTF's/Min gemessen: Je mehr, desto schlechter der Code ;-)

  7. #7
    TribunM TribunM ist offline Mitglied Gold
    Registriert seit
    May 2004
    Beiträge
    177
    Ne Zend und ich wir sind nicht die besten Freunde
    Was hältst du von so Online Services wie z.B. http://www.paessler.com?

    Da gibt es ja noch zig andere. Vielleicht kann Jemand auch noch andere empfehlen, aber hört sich nicht schlecht an.
     

  8. #8
    Radhad Radhad ist offline Mitglied Diamant
    Registriert seit
    Mar 2003
    Ort
    Wuppertal (NRW)
    Beiträge
    1.917
    Blog-Einträge
    35
    Du musst folgendes machen:
    log_errors einschalten und error_reporting auf E_ALL | E_STRICT setzen (PHP 5.2) bzw. E_ALL (PHP5.3). Dann tauchen die alle im error.log des Apache auf. Beides lässt sich per php.ini einstellen oder zur Laufzeit mittels
    PHP-Code:
    ini_set('log_errors''On');
    error_reporting(E_ALL E_STRICT); 
     
    Mein neues Projekt: zandman.de - Bericht über den Aufbau einer Entwicklungsumgebung für Test-Driven-Development mit phpUnderControl und dem Aufbau einer Webapplikation mit Zend Framework Version 1.9.x

  9. #9
    Avatar von saftmeister
    saftmeister saftmeister ist offline Der Saft sei mit dir
    tutorials.de Premium-User
    Registriert seit
    May 2006
    Ort
    There is no place like 127.0.0.1
    Beiträge
    3.520
    Ich weiß nicht, was dir ein Netzwerk-Monitor bringen soll, bei einem Server, der im Internet steht. Ich denke mal, du würfelst hier ein paar Sachen durcheinander.

    Was du willst, ist ein App-Server, der Profiling-Features anbietet. Zend ist der einzige mir bekannte, der das für PHP kann. Vielleicht bekommst du ja PHP auf einem JBoss zu laufen (Witz!)
     
    Grüße
    --
    Qualität des Codes wird in WTF's/Min gemessen: Je mehr, desto schlechter der Code ;-)

  10. #10
    TribunM TribunM ist offline Mitglied Gold
    Registriert seit
    May 2004
    Beiträge
    177
    Hm naja der Netwerkmonitor bringt mir soviel, indem ich ihn auch sagen kann führe Abrage X aus und prüfe nach Y. Dann je nachdem was Y beinhaltet kann ich Mails vershicken oder Alarm ausgeben etc. Dachte das wäre nicht schlecht, wenn man das mit SQL löst halt.
     

Ähnliche Themen

  1. Erweitertes Formular
    Von mr.gamesbay im Forum Javascript & Ajax
    Antworten: 2
    Letzter Beitrag: 18.10.05, 23:58
  2. DFÜ Verbindung mitloggen
    Von fiacyberz im Forum Delphi, Kylix, Pascal
    Antworten: 5
    Letzter Beitrag: 30.05.02, 03:03
  3. DFÜ-Daten mitloggen
    Von fiacyberz im Forum Microsoft Windows
    Antworten: 4
    Letzter Beitrag: 24.05.02, 19:19
  4. Erweitertes $PHP_SELF?
    Von pirate man im Forum PHP
    Antworten: 16
    Letzter Beitrag: 27.04.02, 17:42
  5. Erweitertes Verzerren?
    Von Kingmauri im Forum Photoshop
    Antworten: 4
    Letzter Beitrag: 25.01.02, 00:45