Symcon Server steht (fast)

Hallo,

folgendes passiert auf meinem Symcon-Rechner ab und zu (virtuelle Maschine auf einem Proxmox-Server)

  1. Symptom: bei meinem IPSview erscheint etwas von „future not completed“. Ähnliche Fehlermeldungen sind im Forum schon beschrieben. Die Meldung scheint vom IPSView-Client zu kommen, wenn eine Server-Komponente nicht innerhalb von 30 Sekunden antwortet

  2. Symptom: ein „service symcon status“ auf dem Server gibt auf längere Zeit keine Antwort, d.h. der Befehl wird nicht beendet. Die Webview und die Web-Console verlieren die Verbindung zum Server

Vorläufige Abhilfe: Symcon-Prozess ermitteln und abschießen (kill -9). Ein Neustart funktioniert zuverlässig und behebt die oben genannten Symptome.

Ich habe versucht, in den Logfiles etwas zu finden, das auf einen Absturz hinweist. Das Logfile weist aber keine Lücke oder merkwürdige Einträge auf.

Meßwerte scheinen ebenfalls lückenlos archiviert zu werden.

Die Leistungsdaten von Proxmox weisen weder auf eine Speicher- noch eine Prozessorüberlastung hin. Die Festplatte hat ebenfalls noch Speicherplatz frei.

Was kann ich tun, um dem Problem auf die Spur zu kommen?

Viele Grüße

Dirk

Hi,

Feature not implementen bzw die sache das nach 30 sek. abgebrochen wird, kann auch an zu grossen Bildern liegen. Da würde ich mal prüfen.

Wenn sich der dienst nicht beenden lässt, schaue vorher mal ob in den php informationen ein script hängt.

Wenn du, dort wo sich der objektbaum befindet auf das + zeichen klickst, kann man die.php Informationen öffnen. Wenn dort ein oder mehrere Zeilen hängen bleiben, dann läuft ein script… u.u unendlich lange.

Viele Grüße

Hi,

danke für den Hinweis. Wenn’s so weit ist, kann ich allerdings gar nicht mehr auf den Objektbaum bzw. die php Informationen zugreifen (-> Console reagiert nicht).

Im Augenblick (nach dem Neustart heute Morgen) läuft bei den Scripten alles flüssig. Die Seite, die im Normalfall „vorne“ ist, enthält keine Bilder, aber einen Mediastream. Der Stream wird allerdings über die Sichtbarkeits-Variable ausgeblendet, wenn keiner vor dem Tablet steht.

Läuft der Stream dann weiter? Falls ja, gibt es eine Möglichkeit, den Stream gesteuert zu stoppen?

Viele Grüße

Dirk

Du kannst auch zwischendurch mal in die informationen reinschauen. So ein programm stirbt langsam :sweat_smile:. Meist erst ein thread, dann zwei und irgenwann ist alles voll und nix geht mehr.

Das ist eine gute frage. Wenn man die seite wechselt wird gestoppt, aber bei unschaltung der Sichtbarkeit, weiss ich es nicht. Ich schätze mal das es stoppt

Ist das bild den sofort da oder muss es sich erst aufbauen?

Es braucht etwas bis zum Aufbau. Ich vermute mal, das weist auf einen Stop hin. Spricht gegen großes Bild / Stream als Ursache.

Ich beobachte mal die Scripte. Jetzt bräuchte man eine Log-Funktion, die die Anzahl der laufenden Scripte (oder hängenden Scripte) in ein File wegschreibt.

Leider kann es Tage dauern, bis wieder ein Absturz kommt. Hoffentlich sehe ich das…

Wäre das nicht ohnehin ein nützliche Feature für IPS, bei x-fach paralleler Ausführung desselben Scriptes eine Warnung in’s Log zu schreiben? Dabei sei x dann ein einstellbarer Wert, denn man konfigurieren kann.

Leider „erwische“ ich keine Amok laufenden PHP-Scripte - das passiert meistens über Nacht / am frühen Morgen. Ich kann auch nicht den Symcon-Port überwachen, der scheint ja weiter offen zu sein. Symcon selbst scheint auch weiter zu laufen - ich hatte mal einen Watchdog über eine zyklisch geänderte Datei versucht. Das schlägt auch nicht an.

Speicher und CPU des Servers sind kaum ausgelastet, scheint also intern in meinem Symcon zu passieren.

Mir fällt jetzt nur noch ein, alle paar Stunden Symcon neu zu starten - geht das über irgendwelche internen Funktionen?

Ansonsten bin ich ratlos - hat noch jemand eine Idee?

Dirk

Neue Beobachtung. Heute habe ich einen Augenblick vor dem Absturz erwischt.

Die PHP-Information-Kachel zeigte den üblichen Ablauf von aktiven Threads - sah auf den ersten Blick nicht ungewöhnlich aus. Als ich dann mit „öffnen“ die Details anschauen wollte, gab es keine Anzeige von Threads mehr. Überlastung? Bug?

Dirk

Und ein hoffentlich letztes Update. Ich hab eine Möglichkeit gefunden, PHP besser mitzuschreiben. Siehe hier: https://community.symcon.de/t/prometheus-exporter-modul-dashboard-fuer-grafana-config-fuer-prometheus/51896

Funktioniert grandios. Ich hoffe mal, daß ich morgen früh den Übeltäter finde…

Beobachtung: die PHP Requests (Rate) bleiben bis zum Absturz gleich, die PHP Threads (Utilization) bleibt auf niedrigem Niveau. Die mittlere PHP-Dauer hat manchmal Peaks bis 3ms, es gibt aber bei PHP-Dauer (max) zwei Ausreißer, einer bei 36 Sekunden und einer bei 30 Sekunden. Leider werden die in Grafana nur als Zahl (90 bzw. 49) dargestellt, so daß ich Schwierigkeiten mit der Identifikation bekomme. Das Script mit 36 Sekunden braucht übrigens dauerhaft so lange, das andere hat ca. 2:30 in der Nacht angefangen. PHP memory usage bleibt gleich niedrig, aber die Cleanups scheinen zuzunehmen.

Was tun?

Und ein letzter Post. Eine verdoppelung des Speichers in der php.ini hat das Problem gelöst. Immer noch keine Scripte, die Amok laufen.

Schade, daß es in Symcon keine besseren Möglichkeiten gibt, so einen Absturz zu debuggen.

1 „Gefällt mir“

Keine Ahnung, ob das damit zusammenhängt:

image

Der Zeitpunkt, zu dem die Anzahl der Meldungen so drastisch runter geht, war der Zeitpunkt an dem ich das Browserfenster mit der Konsole nach vorne gebracht habe. Der Reiter war schon die ganze Zeit offen. Hat jemand eine Idee, woran das liegt?

Viele Grüße

Dirk