Logs werden nicht angezeigt

Dieses Thema im Forum "Installation und Konfiguration" wurde erstellt von nowayback, 30. Sep. 2011.

  1. nowayback

    nowayback Well-Known Member

    Moinsen,

    leider kann ich weder im englischen noch im deutschen Forum etwas dazu finden.

    Version: 3.0.3.3

    Problem:
    1. Wenn ich auf "Überwachung -> Updatestatus anzeigen" sehe ich nur einen grünen Balken, jedoch keinen Inhalt solang es keine Updates gibt. Wenn es Updates gibt, dann ändert sich nur die Farbe des Balkens, aber es gibt immernoch keinen Inhalt.

    2. Wenn ich auf "Überwachung -> ISPC Cron-Protokoll anzeigen" gehe, erhalte ich nur einen orange/gelben Balken, aber keinen Inhalt.

    Wenn ich in die Datenbank schaue dann finde ich in der Tabelle monitor_data jedoch entsprechende Einträge, die eigentlich angezeigt werden sollten. Das Überprüfen und Reparieren der Tabellen brachte keine Veränderung.

    Dann hab ich mir die Einträge mal direkt angeschaut und bin auf den Fehler gestoßen. Jedesmal wenn ein Umlaut in dem Logeintrag vorkommt, dann fehlen alle nachfolgenden Zeichen sowie das abschließende ";}
    Die Frage ist nun: Warum? Und wie behebe ich das?

    Grüße
    nwb
     
    Zuletzt bearbeitet: 11. Okt. 2011
  2. Till

    Till Administrator

    Um welchen Datebbankeintrag geht es genau?
     
  3. nowayback

    nowayback Well-Known Member

    Moinsen Till,

    ich weiß jetzt nicht ob du die Datenbankeinträge willst oder was anderes. Deshalb poste ich dir jetzt einfach mal so einen Beispieleintrag.

    dbispconfig -> monitor_data
    Code:
    1	log_ispc_cron	1317722101	s:8830:"
    W: Fehlschlag beim Holen von http://mirror.hetzner.de/debian/security/dists/squeeze/updates/non-free/i18n/Translation-de.bz2  Verbindung mit mirror.hetzner.de:http nicht m
    Weiteres Beispiel, selbe DB und Tabelle:
    Code:
    1	system_update	1317718824	a:1:{s:6:"output";s:183:"Paketlisten werden gelesen...
    Abh

    Grüße
    nwb
     
    Zuletzt bearbeitet: 4. Okt. 2011
  4. nowayback

    nowayback Well-Known Member

    Moinsen....

    Problem ist noch immer Aktuell.

    Grüße
    nwb
     
  5. Till

    Till Administrator

    PHP scheint bei Deinem Server ein Problem mit dem serialisieren von Daten zu haben, die deutsche Umlaute enthalten. Dazu kann ich so ohne weiteres Debugging wenig sagen, ist mir aber bisher kein system bekannt, bei dem das schonmal aufgetreten ist. Du kannst es aber trotzdem gerne mal im bugtracker posten, vielleicht kann es jemand reproduzieren.

    Eine kurzfristige Lösung könnte sein dass du das Shell locale auf englisch umstellst, wie es bei den meisten Servern sowieso der Fall ist.
     
  6. nowayback

    nowayback Well-Known Member

    Moinsen

    Ja das wäre eine kurzfristige Lösung, die mich aber nicht zufriedenstellt, denn sowas zu behandeln is mMn Softwaresache.

    Lösungsidee:
    was passiert wenn ich einfach eine weitere Funktion erstelle, einfach so in der Art:

    PHP:
    function umlaute($txt)
    {
    $search  = array ('ä''ö''ü''ß');
    $replace = array ('ae''oe''ue''ss');
    $str  str_replace($search$replace$txt);
    return 
    $str;
    }
    und dann folgenden Code benutze:
    PHP:
    "'" $app->dbmaster->quote(serialize(umlaute($data))) . "', " .
    anstatt:
    PHP:
    "'" $app->dbmaster->quote(serialize($data)) . "', " .
    Grüße
    nwb
     
    Zuletzt bearbeitet: 6. Okt. 2011
  7. nowayback

    nowayback Well-Known Member

    hmm ich konnte doch nicht warten und hab es einfach mal getestet und siehe da der DB Eintrag ändert sich und sieht so aus, wie er aussehen sollte:

    Code:
    			1	system_update	1317931227	a:1:{s:6:"output";s:184:"Paketlisten werden gelesen...
    Abhaengigkeitsbaum wird aufgebaut...
    Statusinformationen werden eingelesen...
    0 aktualisiert, 0 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.
    ";}
    Daher nun noch einige Fragen, bevor ich mir das passend reinbastel in dein System:

    Werden die serialisierten Daten irgendwo wieder unserialized oder nicht?
    Kann ich die Funktion umlaute() so in der monitor_core_module.inc.php drinlassen oder sollte ich die besser in eine separate Datei auslagern und includen? Wenn ich die includen soll, hast du irgendein Pfadprefix in ner Variable den ich dazu nutzen kann?

    Grüße und Thx
    nwb
     
  8. Till

    Till Administrator

    Klar, sonst würden Sie ja nicht in der DB gespeichert :) Das sind die Daten, die im Monitor angezeigt werden.

    Ich würde die Funktion in die monitpor_tools.inc.php hinzufügen, dort stehen ja auch die anderen Funktionen die im monitor_core Modul benötigt werden drin.
     
  9. nowayback

    nowayback Well-Known Member

    Alles klärchen... Danke dir.


    ** Edit **
    geänderte Datei angehängt

    Sie muss entpackt werden und gehört dann ins Verzeichnis /usr/local/ispconfig/server/mods-available/ zumindest unter Debian ;)

    ** Edit Ende **

    Grüße
    nwb
     

    Anhänge:

    Zuletzt bearbeitet: 11. Okt. 2011

Diese Seite empfehlen