Betrieb im Alltag
Was du im laufenden Betrieb brauchst: den Zustand der Plattform prüfen, Meldungen lesen, die Plattform anhalten und wieder starten und geänderte Einstellungen übernehmen.
9 Min. Lesezeit Kapitel 13
Den Zustand prüfen#
sudo aictl status
Der Befehl prüft alle Bausteine der Plattform, die Erweiterungen, die Modell-Engine, die Anmeldung, die angehängten Modell-Rechner und die Lizenz. Jede Prüfung erscheint als eigene Zeile:
| Markierung | Bedeutung |
|---|---|
[ ok ] |
in Ordnung |
[warn] |
Hinweis, die Plattform funktioniert aber |
[FAIL] |
Fehler, hier funktioniert etwas nicht |
Ist mindestens eine Zeile [FAIL], endet der Befehl mit dem Exit-Code 1 und der Meldung, wie viele Prüfungen fehlgeschlagen sind. Warnungen allein ergeben den Exit-Code 0. So kannst du status auch in eine Überwachung einbinden.
Die Abschnitte der Ausgabe#
Die Ausgabe ist immer gleich gegliedert:
| Abschnitt | Was geprüft wird |
|---|---|
| Core services | Jeder Baustein der Plattform: läuft er, und meldet er sich gesund? |
| Extension … | Ein Abschnitt pro Erweiterung mit ihrer installierten Version: jeder ihrer Dienste, ihre Zustandsdatei, nicht mehr genutzte Daten und, falls sie den Firmen-Login nutzt, ob die Anmeldung funktioniert. |
| Endpoints | Ob die Modell-Engine antwortet und wie viele Modelle installiert und gerade geladen sind, ob die KI-Zentrale antwortet und die Modell-Engine erreicht, ob Chat und Firmen-Login antworten und ob die Websuche Ergebnisse liefert. |
| Sign-in | Nur wenn der Firmen-Login veröffentlicht ist: für jeden veröffentlichten Bereich, ob die Anmeldung beziehungsweise die Zugangskontrolle funktioniert. |
| Cluster | Ob der Hintergrunddienst läuft und jeder angehängte Modell-Rechner erreichbar ist. |
| Deployment | Lizenz, freier Speicherplatz, Ablauf und Stammzertifikat eines eigenen Firmenzertifikats, eine abgebrochene Wiederherstellung, eine fehlerhafte Einstellungsdatei, fehlende Zugangsdaten der Erweiterungen, eine falsch gehende Systemuhr, eine Modell-Engine, die aus dem Netz erreichbar ist, und wann das letzte Backup lief. |
Einige Zeilen sind bewusst nur Warnungen und lassen status nie fehlschlagen:
- Ein Modell-Rechner, der nicht erreichbar ist (er könnte gerade beitreten oder gewartet werden).
- Die Websuche, wenn keine Suchmaschine Ergebnisse liefert.
- Speicherplatz unter 5 GiB. Unter 1 GiB wird daraus ein Fehler.
- Eine Systemuhr, die zwei Minuten oder mehr vom Lizenzserver abweicht.
- Ein eigenes Zertifikat, das in weniger als 30 Tagen abläuft. Ist es abgelaufen, wird daraus ein Fehler.
- Ein Backup, das es auf diesem Server noch nie gab oder das älter als eine Woche ist. Siehe Backup und Wiederherstellung.
- Eine Erweiterung, die nicht mehr auf der Lizenz steht. Siehe Lizenz.
Hinweis: Hast du die Plattform mit
aictl stopangehalten, zeigtstatusnur eine einzige Zeile:stopped by operator — run sudo aictl start to resume. Der Exit-Code ist dann 0.
Maschinenlesbare Ausgabe#
sudo aictl status --json
Gibt alle Prüfungen als JSON-Liste aus, in derselben Reihenfolge wie die Textausgabe. Jeder Eintrag hat die Felder group (Abschnitt), name, ok, warn (nur bei Warnungen) und detail. Der Exit-Code ist derselbe wie ohne --json.
Ohne sudo#
Die Installation gibt der Person, die sudo aictl install ausgeführt hat, Lesezugriff auf die Plattform. Nach einer neuen Anmeldung am Server funktionieren dann aictl status, aictl license info, aictl license check, aictl auth info, aictl brand show und aictl update status ohne sudo. Alle anderen Befehle brauchen sudo.
Hinweis: Der Lesezugriff bleibt erhalten, auch wenn die Plattform ihre Dateien neu schreibt, etwa bei einer Lizenzbestätigung oder einer Wiederherstellung. Meldet ein Befehl trotzdem «permission denied», verwende
sudooder führesudo aictl installerneut aus.
Meldungen ansehen#
sudo aictl logs
Ohne weitere Angabe zeigt der Befehl die letzten Meldungen aller Bausteine und aller Erweiterungen. Du kannst ihn eingrenzen:
| Angabe | Zeigt |
|---|---|
<dienst> |
einen Baustein der Plattform, mit dem Namen, den status unter «Core services» anzeigt |
<erweiterung>/<dienst> |
einen Dienst einer Erweiterung, zum Beispiel protocol/worker |
<erweiterung> |
alle Dienste einer Erweiterung |
Mehrere Angaben lassen sich kombinieren. Ein unbekannter Name führt zu einer Fehlermeldung, die alle gültigen Namen auflistet.
| Option | Wirkung |
|---|---|
-f, --follow |
zeigt neue Meldungen live, bis du mit Ctrl-C abbrichst |
-n, --tail <anzahl> |
Anzahl Zeilen pro Dienst, Standard 200, all für alles |
--since <zeit> |
nur Meldungen ab einem Zeitpunkt oder einer Dauer, zum Beispiel 10m oder 1h |
Beispiele:
sudo aictl logs -f # alles live verfolgen
sudo aictl logs archive -f # alles einer Erweiterung live
sudo aictl logs protocol/worker -n 50 --since 10m
Kommen die Meldungen aus mehreren Teilen der Plattform, beginnt jede Zeile mit ihrer Herkunft, zum Beispiel core/ oder protocol/.
status zeigt dir, was nicht funktioniert, logs zeigt dir, warum.
Die Plattform anhalten und starten#
Die ganze Plattform#
sudo aictl stop
sudo aictl start
sudo aictl restart
| Befehl | Wirkung |
|---|---|
stop |
Hält zuerst die Erweiterungen und danach die Plattform an. Es wird nichts gelöscht. Der Stopp wird gespeichert: Die Plattform bleibt angehalten, auch nach einem Neustart des Servers, bis du start ausführst. |
start |
Hebt den Stopp auf und startet zuerst die Plattform und danach die Erweiterungen. |
restart |
Startet alles neu: Erweiterungen werden zuerst angehalten und am Schluss wieder gestartet. Ein gespeicherter Stopp wird aufgehoben. |
Gut zu wissen:
- Der Hintergrunddienst läuft auch bei angehaltener Plattform weiter, damit die Lizenz bestätigt wird. Die Modell-Engine wird nie angehalten.
- Auch
install,update,applyundrestoreheben einen gespeicherten Stopp auf. startundrestartwarten bis zu 5 Minuten, bis alles gesund ist. Dauert es länger, gibt es nur eine Warnung. Prüfe dann mitsudo aictl status, was noch startet.- Fehlen Teile der Plattform ganz, zum Beispiel nach einer Aufräumaktion auf dem Server, baut
startbeziehungsweiserestartdie Plattform vollständig neu auf. Das dauert länger und braucht eine gültige Lizenz. restartliest geänderte Einstellungen nicht neu ein. Dafür gibt esapply.
Einzelne Dienste#
sudo aictl restart protocol/worker # ein Dienst einer Erweiterung
sudo aictl restart archive # alle Dienste einer Erweiterung
sudo aictl stop <dienst> # ein Baustein der Plattform
Die Namen sind dieselben wie bei logs. Das Anhalten einzelner Dienste ist vorübergehend und wird nicht gespeichert:
- Ein Baustein der Plattform, den du einzeln anhältst, wird vom Hintergrunddienst innerhalb von etwa 30 Sekunden wieder gestartet.
- Ein Dienst einer Erweiterung bleibt dagegen angehalten, bis du ihn startest oder
apply,update,startoderrestartfür die ganze Plattform ausführst.
Wenn zwei Befehle gleichzeitig laufen#
Befehle, die etwas verändern, warten aufeinander. Läuft bereits ein anderer, siehst du zum Beispiel Waiting for aictl update (pid 1234, running for 3m) to finish…. Brichst du das Warten mit Ctrl-C ab, wurde nichts verändert.
Wartungsseite#
Ist ein Bereich der Plattform kurz nicht erreichbar, zeigt das Gateway statt einer technischen Fehlermeldung eine Wartungsseite mit deinem Firmennamen und Logo (siehe Branding). Das passiert zum Beispiel:
- während eines Backups,
- wenn
applyoderupdateeinen Bereich neu startet, - wenn ein Bereich abgestürzt ist und gerade neu startet.
Die Seite lädt sich alle 30 Sekunden neu und verschwindet von selbst, sobald der Bereich wieder antwortet. Programme, die über eine Schnittstelle zugreifen, bekommen statt der Seite eine kurze Fehlermeldung im JSON-Format.
Keine Wartungsseite gibt es, wenn das Gateway selbst nicht läuft: nach aictl stop, während einer Wiederherstellung und in den letzten Sekunden eines Backups. Dann meldet der Browser, dass die Seite nicht erreichbar ist. Bleibt die Wartungsseite länger stehen, zeigt sudo aictl status, welcher Bereich nicht läuft.
Geänderte Einstellungen übernehmen#
sudo aictl apply
apply erzeugt die Konfiguration aus deinen Einstellungen neu und bringt die laufende Plattform auf diesen Stand. Nur Dienste, deren Konfiguration sich tatsächlich geändert hat, werden neu erstellt. Deine Daten bleiben erhalten.
Du brauchst apply nach:
aictl proxy hostname(Adressen veröffentlichen oder ändern),aictl proxy set-cert(eigenes Zertifikat einspielen),aictl secret setodersecret rm(Zugangsdaten),aictl brand edit(Branding),- einer Änderung an der Einstellungsdatei,
- einer fehlgeschlagenen Erweiterung, die erneut eingerichtet werden soll.
Im Unterschied zu update prüft apply nicht auf eine neue Version, lädt keine neuen Bestandteile herunter und übernimmt keine neue Einstellungsdatei. Es wendet nur an, was bereits eingestellt ist. Danach bietet es an, fehlende DNS-Einträge anzulegen, und zeigt eine Zusammenfassung.
| Option | Wirkung |
|---|---|
--bind-address <adresse> |
Ändert, an welche Netzwerkadresse die lokalen Ports gebunden sind: 127.0.0.1 nur auf dem Server (Standard), 0.0.0.0 aus dem ganzen Netz. Siehe Sicherheit und Datenschutz. |
--health-wait <dauer> |
Wie lange auf den Start gewartet wird, Standard 10 Minuten. |
Gut zu wissen:
applybraucht eine gültige Lizenz. Ist die Lizenz eingeschränkt, wird es verweigert, siehe Lizenz.applyrichtet den Hintergrunddienst neu ein und startet ihn, falls er fehlt oder abgestürzt ist. Hast du ihn absichtlich angehalten, bleibt er angehalten, undapplyweist darauf hin.- Der Befehl endet mit einem Fehler, wenn danach eine Prüfung fehlschlägt oder eine Erweiterung nicht eingerichtet werden konnte. Die Plattform läuft trotzdem weiter. Ein erneutes
applyversucht es noch einmal.
Der Hintergrunddienst#
Auf dem Hauptserver läuft ständig der Hintergrunddienst von aictl. Die Installation richtet ihn als Systemdienst namens aictl ein, der beim Hochfahren automatisch startet. Er erledigt:
| Wann | Was |
|---|---|
| alle 30 Sekunden | startet Bausteine der Plattform, die laufen sollten; verteilt die Modelle auf die erreichbaren Rechner; führt fällige geplante Aufgaben der Erweiterungen aus |
| beim Start und alle 12 Stunden, nach einem Fehlschlag alle 5 Minuten | bestätigt die Lizenz beim Lizenzserver |
| alle 15 Minuten | prüft, ob ein automatisches Update fällig ist |
| einmal täglich | prüft, welche Suchmaschinen für die Websuche antworten |
| jederzeit | nimmt neue Modell-Rechner auf (Port 7700) |
Erweiterungen richtet der Hintergrunddienst nicht neu ein. Ihre Dienste starten nach einem Neustart des Servers von selbst, ein einzeln angehaltener Dienst einer Erweiterung bleibt aber angehalten.
Hast du die Plattform mit stop angehalten oder ist die Lizenz gestoppt, lässt der Hintergrunddienst die Plattform angehalten.
Den Hintergrunddienst prüfen und neu starten#
sudo systemctl status aictl # läuft er?
sudo journalctl -u aictl -n 100 # seine letzten Meldungen
sudo journalctl -u aictl -f # live verfolgen
sudo systemctl restart aictl # neu starten
Von Hand neu starten musst du ihn kaum: Ersetzt du aictl, etwa mit dem Installationsskript, oder änderst du controlPlane.port, controlPlane.allowPublicNodeEndpoints oder localNodeName in der Einstellungsdatei, startet sich der Dienst innerhalb von etwa 30 Sekunden selbst neu. Die Plattform läuft dabei weiter.
Starte aictl serve nie von Hand, solange der Systemdienst läuft. Der zweite Start scheitert, weil der Port bereits belegt ist.
Wenn der Hintergrunddienst nicht läuft#
status meldet dann im Abschnitt «Cluster» einen Fehler. Ohne den Dienst werden abgestürzte Bausteine nicht neu gestartet, die Lizenz nicht bestätigt und keine Modell-Rechner aufgenommen. Die laufende Plattform arbeitet aber weiter.
- Starte ihn mit
sudo systemctl start aictlund schau mitsudo journalctl -u aictlnach der Ursache. install,applyund ein vollständigesupdaterichten ihn neu ein. Einupdate, das «nichts zu tun» meldet, tut das nicht.- Ist die Einstellungsdatei fehlerhaft, wartet der Dienst und versucht es alle 30 Sekunden erneut. Die Plattform selbst läuft weiter. Behebe den Fehler, siehe Fehlerbehebung.
- Wird die Einstellungsdatei fehlerhaft, während der Dienst läuft, arbeitet die Plattform mit dem zuletzt angewendeten Stand weiter. Modell-Verteilung und geplante Aufgaben pausieren, bis die Datei wieder lesbar ist.
Version anzeigen#
aictl version
Zeigt die Version von aictl mit Build-Informationen und die neueste verfügbare Version. Mit sudo folgt zusätzlich die Liste der installierten Erweiterungen mit installierter und neuester Version und ihrem Zustand. aictl --version zeigt nur die Version.
Lege die Ausgabe jeder Supportanfrage bei.
Nicht gefunden, was du suchst?
Unser Support hilft dir gerne weiter.