software-wartung24.de
· 7 Min. Lesezeit· Sandor Farkas

Störungsanalyse bei Legacy-Software: Wie man Fehlerursachen systematisch findet

Legacy GrundlagenMonitoringFehlersucheBetrieb
Abstraktes Titelbild zum Thema Störungsanalyse bei Legacy-Software: Wie man Fehlerursachen systematisch findet (KI-generiert)

Freitagnachmittag. Die Bestellungen kommen nicht mehr im Warenwirtschaftssystem an. Niemand hat etwas geändert. Gestern lief alles.

Jetzt beginnt die Störungsanalyse. Und sie beginnt fast immer unter den gleichen Bedingungen: Es gibt keine Logs. Es gibt keine Dokumentation. Der Entwickler, der das System gebaut hat, arbeitet seit sechs Jahren woanders.

Diese Situation ist normal. Sie ist kein Zeichen von Nachlässigkeit. Gewachsene Software sammelt über Jahre einiges an, und die Fehlersuche gehört dazu.

Dieser Artikel zeigt, wie Sie trotzdem strukturiert vorgehen. Vom Symptom zur Ursache, in nachvollziehbaren Schritten.

Warum Raten die teuerste Methode ist

Unter Druck passiert meistens das Gleiche. Jemand vermutet etwas, ändert eine Einstellung, startet den Server neu. Manchmal hilft das. Oft macht es die Lage schlechter.

Das Problem dabei ist nicht der Neustart. Das Problem ist, dass danach niemand weiß, was eigentlich los war.

Ein Neustart löscht oft genau die Spuren, die zur Ursache führen. Temporäre Dateien verschwinden. Prozesse werden beendet. Der Speicherzustand ist weg. Der Fehler kommt drei Wochen später wieder, und die Suche beginnt bei null.

Deshalb gilt: Erst dokumentieren, dann eingreifen. Auch wenn es sich falsch anfühlt, wenn das Telefon klingelt.

Was Sie in den ersten zehn Minuten festhalten sollten

Notieren Sie das, bevor Sie irgendetwas ändern:

  • Wann genau wurde die Störung bemerkt?
  • Was genau funktioniert nicht, und was funktioniert noch?
  • Welche Fehlermeldung erscheint, im Wortlaut?
  • Wer war zuletzt am System, und was wurde gemacht?
  • Gab es kürzlich ein Update, einen Serverumzug, eine Zertifikatserneuerung?

Ein Screenshot der Fehlermeldung ist mehr wert als eine Beschreibung aus der Erinnerung. Machen Sie ihn.

Schritt 1: Das Symptom sauber beschreiben

"Die Software geht nicht" ist kein Symptom. Das ist ein Gefühl.

Ein brauchbares Symptom ist konkret. "Beim Speichern eines Auftrags erscheint nach etwa 30 Sekunden eine weiße Seite. Bei Aufträgen mit weniger als zehn Positionen passiert das nicht."

Der Unterschied ist enorm. Die zweite Beschreibung enthält bereits zwei Hinweise. Die 30 Sekunden deuten auf ein Zeitlimit hin. Die Abhängigkeit von der Auftragsgröße deutet auf Speicher oder Laufzeit hin.

Gute Störungsanalyse ist zu großen Teilen gute Beobachtung.

Die drei Fragen, die den Suchraum halbieren

Tritt der Fehler immer auf oder nur manchmal? Sporadische Fehler haben andere Ursachen als dauerhafte. Sie hängen oft an Last, Uhrzeit oder bestimmten Datensätzen.

Betrifft es alle Nutzer oder nur einzelne? Wenn nur ein Nutzer betroffen ist, liegt es selten am Server. Dann geht es um Berechtigungen, Browser oder Daten.

Seit wann tritt es auf? Der Zeitpunkt ist der wichtigste Hinweis überhaupt. Alles, was in diesem Zeitfenster passiert ist, kommt als Ursache in Frage.

Schritt 2: Die Zeitachse rekonstruieren

Software ändert ihr Verhalten nicht von selbst. Wenn gestern alles lief und heute nicht mehr, hat sich etwas geändert. Auch wenn es niemand war.

Typische Änderungen, an die niemand denkt:

Zertifikate laufen ab. SSL-Zertifikate haben eine Laufzeit. Läuft eines ab, brechen Schnittstellen zu anderen Systemen weg. Die Anwendung selbst zeigt oft keine klare Fehlermeldung.

Festplatten laufen voll. Ein volles Dateisystem ist eine der häufigsten Ursachen für scheinbar unerklärliche Fehler. Datenbanken können nicht mehr schreiben, Sessions gehen verloren, Uploads scheitern.

Automatische Updates des Betriebssystems. Der Server aktualisiert im Hintergrund eine Bibliothek. Die alte Anwendung erwartet die alte Version.

Zeitumstellung und Jahreswechsel. Klingt banal, ist es nicht. Ältere Systeme rechnen an Datumsgrenzen gerne falsch.

Ein externer Dienst hat sich geändert. Ein Zahlungsanbieter schaltet ein altes Protokoll ab. Eine Versand-API ändert ihr Datenformat. Ihre Software erfährt davon nichts.

Prüfen Sie diese Punkte, bevor Sie in den Code schauen. Sie sind schnell auszuschließen und erklären erstaunlich viele Störungen.

Schritt 3: Von außen nach innen arbeiten

Eine Webanwendung besteht aus mehreren Schichten. Netzwerk, Webserver, Anwendungsserver, Anwendung, Datenbank. Der Fehler steckt in genau einer davon.

Arbeiten Sie sich von außen nach innen vor und prüfen Sie jede Schicht einzeln.

Erreicht die Anfrage überhaupt den Server? Wenn nicht, liegt es an DNS, Firewall oder Netzwerk.

Antwortet der Webserver? Eine 502- oder 504-Meldung bedeutet: Der Webserver läuft, aber die dahinterliegende Anwendung antwortet nicht.

Startet die Anwendung? Viele Legacy-Anwendungen zeigen bei einem Fehler eine leere Seite, weil die Fehlerausgabe aus Sicherheitsgründen abgeschaltet ist. Das ist richtig so, macht die Suche aber schwerer.

Antwortet die Datenbank? Testen Sie die Verbindung getrennt von der Anwendung. Eine überlastete oder gesperrte Datenbank sieht von außen aus wie ein Anwendungsfehler.

Diese Reihenfolge spart Zeit. Sie schließen mit jedem Schritt einen ganzen Bereich aus, statt überall gleichzeitig zu suchen.

Schritt 4: Logs finden, auch wenn es keine gibt

"Wir haben keine Logs" stimmt fast nie. Meistens weiß nur niemand, wo sie liegen.

Fast jeder Webserver schreibt ein Fehlerprotokoll. Bei Apache liegt es üblicherweise unter /var/log/apache2/error.log, bei Nginx unter /var/log/nginx/error.log. PHP schreibt oft ein eigenes Protokoll. Datenbanken protokollieren langsame Abfragen, wenn die Funktion aktiviert ist.

Diese Dateien sind der wichtigste Ausgangspunkt jeder Störungsanalyse. Sie enthalten Zeitstempel. Und Zeitstempel lassen sich mit dem Zeitpunkt der Störung abgleichen.

Falls wirklich nichts protokolliert wird: Schalten Sie die Protokollierung jetzt ein, nicht erst beim nächsten Vorfall. Wie ein sinnvolles Grundgerüst aussieht, beschreiben wir im Artikel zum Monitoring für Legacy-Software.

Was ist eigentlich jusched?

Bei der Suche in Prozesslisten stolpern viele über Namen, die niemand kennt. Ein Klassiker auf Windows-Servern ist jusched.exe. Dahinter steckt der Java Update Scheduler, ein Hintergrunddienst von Oracle, der nach Java-Updates sucht.

Er ist in der Regel harmlos. Aber er zeigt ein typisches Muster: Auf gewachsenen Systemen laufen Dienste, deren Zweck niemand mehr kennt. Genau diese Unklarheit macht die Fehlersuche langsam.

Wer nicht sicher ist, ob ein unbekannter Prozess legitim ist, sollte ihn prüfen statt ihn zu beenden. Bei einem konkreten Verdacht auf einen Angriff gelten andere Regeln, die wir unter Erste Schritte nach einem Angriff beschrieben haben.

Schritt 5: Die Ursache bestätigen, nicht nur vermuten

Eine Vermutung ist erst dann eine Ursache, wenn Sie den Fehler gezielt auslösen und wieder abstellen können.

Das klingt aufwändig. Es ist aber der einzige Weg, der verhindert, dass Sie dasselbe Problem in vier Wochen erneut lösen.

Praktisch bedeutet das: Bauen Sie die Bedingung nach, unter der der Fehler auftritt. Ändern Sie eine einzige Sache. Prüfen Sie, ob der Fehler verschwindet. Machen Sie die Änderung rückgängig und prüfen Sie, ob er zurückkommt.

Eine Sache pro Durchgang. Wer drei Dinge gleichzeitig ändert, weiß hinterher nicht, welche geholfen hat.

Schritt 6: Dokumentieren, damit es beim nächsten Mal schneller geht

Nach der Behebung ist vor der nächsten Störung. Fünf Zeilen reichen:

Was war das Symptom? Was war die Ursache? Was wurde geändert? Wann? Wie lässt sich das künftig verhindern?

Diese Notizen sind über die Jahre wertvoller als jedes Handbuch. Sie entstehen nebenbei und sammeln sich zu echtem Systemwissen an.

Häufen sich die Störungen, ist die einzelne Ursache selten das eigentliche Thema. Dann sind es die technischen Schulden, die sich über Jahre angesammelt haben. Welche Warnzeichen darauf hindeuten, lesen Sie in unserem Artikel zu den Warnsignalen technischer Schulden.

Was Sie vorbereiten können, bevor es brennt

Die beste Störungsanalyse ist die, für die schon alles bereitliegt. Drei Dinge machen den größten Unterschied:

Protokollierung aktiviert und aufbewahrt. Ohne Logs suchen Sie im Dunkeln. Mit Logs suchen Sie gezielt.

Eine einfache Übersicht der Systemlandschaft. Welche Server, welche Dienste, welche Schnittstellen nach außen? Eine Seite reicht.

Ein Notfallplan mit Zuständigkeiten. Wer entscheidet? Wer hat Zugänge? Wen ruft man an? Mehr dazu im Artikel zum Notfallplan für kritische Altsoftware.

Diese Vorbereitung kostet wenige Stunden. Im Ernstfall spart sie Tage.

Fazit: Struktur schlägt Erfahrung

Gute Störungsanalyse ist keine Frage von Genie. Sie ist eine Frage von Methode.

Symptom sauber beschreiben. Zeitachse rekonstruieren. Von außen nach innen prüfen. Logs lesen. Ursache bestätigen. Ergebnis festhalten.

Wer so vorgeht, findet die Ursache auch in einem System, das niemand mehr vollständig kennt. Und wer es einmal dokumentiert hat, findet sie beim nächsten Mal in Minuten statt in Tagen.

Sie stecken gerade in einer Störung fest und kommen nicht weiter? Wir übernehmen die Systemanalyse im Notfall auch für Systeme, die wir nicht gebaut haben. Sprechen Sie uns an. Das Erstgespräch ist kostenlos.

Weitere Artikel

Abstraktes Titelbild zum Thema Serializer deutsch erklärt: Serialisierung in Legacy-Software (KI-generiert)
· 6 Min. Lesezeit

Serializer deutsch erklärt: Serialisierung in Legacy-Software

Serializer deutsch: Ein Serializer wandelt Daten in ein übertragbares Format um, etwa JSON oder XML. In alter Software stecken oft selbstgebaute Varianten. Was daraus für Sicherheit und Migration folgt, erklärt dieser Artikel ohne Fachchinesisch.

Legacy GrundlagenSicherheitDatenformate
Abstraktes Titelbild zum Thema Software-Audit mit KI: Was KI-Tools leisten und wo Handarbeit unverzichtbar bleibt (KI-generiert)
· 7 Min. Lesezeit

Software-Audit mit KI: Was KI-Tools leisten und wo Handarbeit unverzichtbar bleibt

KI-gestützte Code-Analyse verspricht schnelle Einsichten in alte Codebasen. Was ein Software-Audit ist, was passiert und warum KI es nicht ersetzt, klärt dieser Artikel. Mit ehrlicher Einordnung: was Tools zuverlässig finden und was nur ein Mensch beurteilen kann.

SicherheitKI & ModernisierungSoftware-Audit
Abstraktes Titelbild zum Thema Technische Dokumentation für Legacy-Software erstellen: Der pragmatische Ansatz (KI-generiert)
· 7 Min. Lesezeit

Technische Dokumentation für Legacy-Software erstellen: Der pragmatische Ansatz

Technische Dokumentation für Legacy-Software erstellen klingt nach einem Projekt über Monate. Das muss es nicht sein. Dieser Artikel zeigt den pragmatischen Weg: was zuerst festgehalten wird, welcher Minimalstandard reicht und wie Entwickler mitziehen.

Legacy GrundlagenDokumentationWissenssicherung

Bereit, Ihre Software in gute Hände zu geben?

Das Erstgespräch ist kostenlos und unverbindlich. Wir schauen uns an, was Sie haben, und sagen Ihnen ehrlich, was möglich ist.

Kostenlose Erstberatung anfragen