benjamin weinlich

Journal · Fragen · Seite 3 von 13

Fragen & Antworten.

Kurze, konkrete Antworten auf echte Fragen aus dem Betrieb. Jede Notiz löst ein reales Problem.

Wird eine KI im Betrieb zwangsläufig zur Leistungskontrolle der Mitarbeiter?

Zur Leistungskontrolle wird eine KI im Betrieb nur, wenn man sie so baut. Unsere eigene Werkstatt-KI liest die offenen Loco-Soft-Aufträge mit, aber ihre Datenbank hat bewusst kein einziges Feld für Tempo, Fehlerquote oder die Bewertung einer Person, und sie schreibt nichts nach Loco zurück. Das haben wir schriftlich festgehalten, damit es auch in zwei Jahren niemand versehentlich anders entscheidet. Was gar nicht erst gespeichert wird, kann später niemand gegen einen Mitarbeiter verwenden.

Wie oft muss sich eine Automatik melden, damit man ihr Schweigen ernst nimmt?

Melden muss sich eine Automatik seltener, als man zuerst denkt, sonst schlägt der Wächter Alarm, wenn gar nichts ist. Für unsere nächtlichen Abläufe habe ich in Uptime Kuma Wächter eingerichtet, bei denen sich der Ablauf selbst meldet statt abgefragt zu werden. Er läuft alle fünf Minuten, der Wächter wartet aber fünfzehn, bevor er Alarm gibt. So übersteht ein einzelner Aussetzer die Prüfung, ein echter Stillstand nicht. Ein Alarm, dem man nicht mehr glaubt, ist schlimmer als keiner.

Was bedeutet es, wenn alle Überwachungs-Meldungen gleichzeitig verstummen?

Wenn alle Überwachungs-Meldungen gleichzeitig verstummen, ist selten jeder Job kaputt, sondern der gemeinsame Weg. Bei uns war die automatische Zertifikats-Erneuerung stillgelegt, das Zertifikat lief ab, und danach kam acht Tage lang keine einzige Erfolgsmeldung mehr bei Uptime Kuma an: 783 Warnungen aus einer einzigen Ursache. Die Sicherungen liefen die ganze Zeit sauber, nur sagen konnte es niemand mehr. Wer viele Alarme auf einmal sieht, sucht zuerst das, was sie alle gemeinsam haben.

Beweist ein grünes Backup, dass die Kopie auch außer Haus liegt?

Ein grünes Backup beweist nicht, dass die Kopie außer Haus liegt, sondern nur, dass die Sicherung geschrieben wurde. Bei uns lief der Job monatelang sauber, während die Übertragung auf den externen Speicher stillstand, weil der Schlüssel dort nicht mehr akzeptiert wurde. Aufgefallen ist es erst beim Nachziehen: 107 Gigabyte auf einen Schlag. Seitdem meldet nicht nur jeder Job, sondern auch jeder Transfer, dass er angekommen ist. Erst die Kopie am zweiten Ort ist die Sicherung.

Was muss beim Umzug eines Systems wirklich auf den neuen Server?

Auf den neuen Server muss nur, was sich nicht wiederherstellen lässt. Als wir unser Dokumentenarchiv Paperless auf eine eigene Maschine umgezogen haben, sind die zwölf Gigabyte Originaldateien in gut zwei Minuten mitgegangen. Den dreiundzwanzig Gigabyte großen Suchindex habe ich bewusst zurückgelassen, weil die neue Version ihn ohnehin selbst neu aufbaut. Ein Umzug wird leicht, wenn man vorher trennt, was Original ist und was nur Abbild.

Zwei Umbauten in einem Wartungsfenster oder lieber nacheinander?

Zwei Umbauten gehören in ein Wartungsfenster, wenn für beide derselbe Rückweg gilt. Geplant hatte ich den Umzug unseres Dokumentenarchivs auf eigene Hardware und den Versionssprung getrennt, gemacht habe ich beides an einem Freitagabend in sechs Minuten Ausfall, mit einem vollständigen Abzug der PostgreSQL-Datenbank als Rückfallpunkt davor. Zwei Fenster hätten doppelt gestört und nicht mehr Sicherheit gebracht. Über das Risiko entscheidet nicht die Zahl der Änderungen, sondern ob man zurückkann.

Warum griff eine eingerichtete Speicher-Grenze im Ernstfall nicht?

Die eingerichtete Speicher-Grenze griff im Ernstfall nicht, weil sie ohne Zeitlimit auf das Ende laufender Anfragen wartete. In unserem Dokumentenarchiv Paperless sollte ein Prozess oberhalb von einem Gigabyte sanft ersetzt werden, doch unter dem Dauerstrom eingehender Akten-Scans wartete der Austausch geduldig, während der Prozess binnen Minuten auf vier bis sechs Gigabyte wuchs und das System ihn schließlich hart beendete. Seit der Austausch nach 45 Sekunden erzwungen wird, hält die Grenze auch unter Last. Eine Grenze ohne Frist ist keine Grenze, sie ist eine Bitte.

Alles auf den einen großen Server ziehen oder verteilt bleiben?

Alles auf den einen großen Server zu ziehen wäre billiger gewesen, und trotzdem bleiben wir verteilt. Wir haben bei Hetzner ein gebrauchtes Blech mit 256 GB Arbeitsspeicher für hundertneun Euro im Monat gemietet, ein Vielfaches unserer kleinen Cloud-Maschine fürs gleiche Geld. Aber ein einzelner Rechner ist ein einzelner Ausfallpunkt, fällt er, fällt alles. Also bleibt der Zugang zur Außenwelt auf der Cloud, das Blech trägt nur die schweren Lasten. Der günstigste Server wird teuer, wenn an ihm allein der ganze Betrieb hängt.

Darf ein Dienst sich selbst neu starten, wenn er hängt?

Ein Dienst darf sich selbst neu starten, aber nur mit fester Bremse und nur als Schadensbegrenzung, nicht als Reparatur. Unser Dokumentenarchiv Paperless war wegen eines bekannten Speicherlecks erst sieben Stunden, dann noch einmal anderthalb Stunden nicht erreichbar, bis jemand den Container von Hand neu startete. Jetzt prüft ein kleiner Wächter alle zwei Minuten den Zustand und startet höchstens einmal in zehn Minuten neu, aus Stunden werden so drei bis vier Minuten. Die Ursache beheben wir trotzdem, der Wächter kauft nur die Zeit bis dahin.

Woran erkennt man ein Duplikat sicher, am Dateinamen oder am Inhalt?

Ein Duplikat erkennt man sicher an der Prüfsumme des Inhalts, nicht am Dateinamen. Beim Aufräumen doppelt eingespielter Belege in Paperless fiel mein Skript, als der genaue Abgleich ins Leere lief, auf den Titel zurück und löschte vier echte Rechnungen über einen Fahrzeugverkauf. Zurückgeholt habe ich sie aus dem Papierkorb, der 613 Einträge lang war. Seitdem vergleicht es nur noch über die Prüfsumme, und fehlt die, hält es an, statt zu raten. Zwei Namen ähneln sich leicht, zwei Inhalte nie.

Kann man der Fehlerliste einer Automatik glauben, was angekommen ist und was nicht?

Der Fehlerliste einer Automatik kann man nicht blind glauben, weder bei dem was fehlt noch bei dem was ankam. Nach einem Serverausfall lagen rund 235 Tresen-Belege eines ganzen Arbeitstags im Ordner für Fehlversuche, im Paperless-Archiv fehlten sie tatsächlich. Neun weitere Gruppen standen ebenfalls als Fehlversuch da und waren trotzdem doppelt angekommen. Erst der Abgleich Datei für Datei gegen das Zielsystem zeigte, was wirklich stimmt. Ein Programm weiß oft nur, ob es die Antwort gehört hat, nicht, ob die Arbeit getan wurde.

Von wo aus prüft man, ob eine Firewall wirklich dicht ist?

Ob eine Firewall wirklich dicht ist, prüft man von einem fremden Rechner aus, nicht aus dem eigenen Netz. Beim Absichern unseres neuen Hetzner-Servers zeigte mein Port-Scan hinter dem VPN einen offenen Port 80, der von außen gar nicht offen war. Erst die Prüfung von einem neutralen Host ergab das echte Bild: öffentlich erreichbar ist nur noch der Fernzugang. Eine Tür testet man von der Seite, von der ein Einbrecher kommen würde.

Braucht ein langsamer Server mehr Rechenleistung oder mehr Arbeitsspeicher?

Ein überlasteter Server braucht nicht automatisch mehr Rechenleistung, oft fehlt nur Arbeitsspeicher. Unser cpx42 bei Hetzner lahmte, doch die CPU lag zu 62 Prozent im Leerlauf, während 4,3 Gigabyte in den langsamen Swap ausgelagert waren. Ein größerer Cloud-Server hätte teure Rechenkerne mitbezahlt, die wir nie gebraucht hätten, also nahmen wir stattdessen eine gebrauchte Maschine mit 256 Gigabyte RAM. Wer erst nachmisst, welcher Teil wirklich klemmt, kauft nicht den falschen Motor für ein Getriebeproblem.

Warum schlug ein Fehler erst zu, als die Notkorrektur ausfiel?

Ein Fehler schlägt erst zu, wenn die Notkorrektur ausfällt, weil sie ihn vorher nur übertüncht hat. In unserem Dokumentenarchiv, Paperless, setzte eine vergessene Automatik jedem neuen Beleg einen Besitzer, und ein zweiter Schritt nahm ihn Sekunden später wieder weg. In jedem Test sah alles sauber aus. Erst als dieser Schritt an einem Ausfall scheiterte, blieben 208 Belege unsichtbar. Heute räumt das System den Besitzer selbst weg, ausfallsicher an der Quelle. Eine Abhilfe, die den Fehler ständig übermalt, ist kein Fix, sie verschiebt nur den Tag, an dem er auffliegt.

Ist alles beim Alten, wenn eine Änderung mit einer Fehlermeldung abbricht?

Beim Alten ist nach einer abgebrochenen Änderung nichts, das muss man jedes Mal nachsehen. Beim Umbau unserer Überwachung mit Uptime Kuma habe ich ein Feld im falschen Format zurückgeschickt, das Speichern brach mit einem Fehler ab, und trotzdem war die Alarm-Verknüpfung des Monitors danach gelöscht. Das Programm räumt erst auf und legt dann neu an, gescheitert ist nur der zweite Schritt. Ich habe hinterher alle neunundzwanzig Monitore nachgeprüft. Eine Fehlermeldung sagt, dass etwas nicht fertig wurde, nicht dass nichts passiert ist.

Woher weiß man, dass ein Alarm im Ernstfall wirklich ankommt?

Dass ein Alarm im Ernstfall wirklich ankommt, weiß man erst, wenn man ihn einmal absichtlich auslöst. Bei uns war das Dokumentenarchiv sieben Stunden nicht erreichbar, und Uptime Kuma blieb stumm: der Monitor war nie mit einem Meldekanal verknüpft, sein Zeitlimit stand auf null, und der E-Mail-Kanal selbst zeigte auf einen toten Anschluss. Drei Fehler auf einmal, und jeder einzelne hätte jede Warnung verhindert. Aufgeflogen ist das erst, als wir eine Testmeldung schickten und keine ankam. Eine Überwachung, die man nie testet, überwacht am Ende nur sich selbst.

Kann ein neues Programm einen Dienst lahmlegen, mit dem es nichts zu tun hat?

Ein neues Programm kann einen Dienst lahmlegen, mit dem es scheinbar nichts zu tun hat, sobald beide sich einen Server teilen. Unser Dokumentenarchiv lief zwölf Tage stabil und war dann sieben Stunden nicht erreichbar: Ein frisch installierter KI-Assistent belegte dauerhaft knapp zwei Gigabyte Arbeitsspeicher, und dem Archiv fehlte genau der Puffer, mit dem es bis dahin über die Runden kam. Der Neustart dauerte eine Minute, das Verstehen einen Abend. Auf einer geteilten Maschine ändert jeder neue Mieter die Statik für alle anderen.

Warum meldete eine Überwachung keinen Ausfall, obwohl der Dienst stundenlang stand?

Eine Überwachung meldet keinen Ausfall, wenn ihre Prüfung kein Zeitlimit hat. Unser Dokumentenarchiv lag sieben Stunden am Boden, und der zuständige Monitor blieb die ganze Zeit auf grün: Sein Zeitlimit stand auf null, also wartete er sechs Stunden und neunundvierzig Minuten auf eine Antwort, statt aufzugeben und Alarm zu schlagen. Heute hat jede Prüfung achtundvierzig Sekunden Zeit, danach gilt sie als gescheitert. Wer nie aufgibt, meldet auch nie einen Fehler.

Größeren Server mieten oder den vorhandenen entlasten?

Bevor man einen größeren Server mietet, sollte man den vorhandenen entlasten. Unserem Server ging der Arbeitsspeicher aus, und die nächstgrößere Maschine bei Hetzner hätte statt sechsundzwanzig gut hundert Euro im Monat gekostet, weil der alte Bestandspreis beim Wechsel unwiderruflich verfällt. Stattdessen habe ich zwei Diensten überflüssige Arbeitsprozesse abgedreht und den Reservespeicher vergrößert: sechs Gigabyte wieder frei, Kosten null Euro. Die günstigste Kapazität ist die, die man schon bezahlt und nur schlecht nutzt.

Warum fehlten im nächtlichen Kundenexport ausgerechnet Telefon und E-Mail?

Im nächtlichen Kundenexport fehlten Telefon und E-Mail, weil dieser Export die Kommunikationsdaten schlicht nie mitzieht. Für unsere neue KI-Telefonannahme brauchte ich zu jeder anrufenden Nummer den passenden Kunden, und in der exportierten Tabelle standen zwar alle 7.495 Kunden, aber keine einzige Rufnummer. Erst über die zweite Schnittstelle von Loco-Soft kamen 5.764 Nummern zusammen. Eine Tabelle, die vollständig aussieht, ist damit noch lange nicht vollständig.