docs: Integrationsanleitungen auf Stand 2.0 bringen, Status "stopped" ergänzen
Watchdog-Anleitung vollständig überarbeitet - Alle drei Codebeispiele trugen das geseedete Demo-Token fest im Quelltext. Es ist an die Source "srv-db-01" gebunden — wer es übernommen hätte, wäre für jeden anderen Dienst abgewiesen worden. Jetzt Umgebungsvariable und eine Anleitung, wie man ein eigenes Token erzeugt. - Der Ratschlag "sende beim Beenden einen Ping mit Status stopped" beschrieb etwas, das die API nicht konnte. Statt die Anleitung an die Lücke anzupassen, ist die Lücke geschlossen: status akzeptiert jetzt "stopped" und "maintenance". Der Evaluator lässt solche Monitore in Ruhe, statt wenige Minuten nach jedem sauberen Shutdown einen Fehlalarm zu erzeugen. - Neu dokumentiert: checks (Gesundheitszustand per Push, ohne offene Ports), metrics samt Verlauf und Abweichungsvergleich, Alarmunterdrückung über die Hierarchie, die Schwellen des Evaluators (2x warning, 4x down) und der erforderliche Cron-Job. Lizenz-Anleitung - Neuer Abschnitt zum Antwortformat. Die Lizenz-Endpunkte antworten bewusst ohne den status/error-Umschlag der übrigen API; das Feld status auf oberster Ebene trägt den Lizenzzustand. Genau diese Besonderheit hatte ich beim Umbau übersehen, weshalb sie jetzt ausdrücklich festgehalten ist — samt Tabelle aller Zustände. - Ergänzt: Deaktivierung braucht den shared_key, mit Beispiel für den .NET- Client und curl. Verhalten bei Ratenbegrenzung. UpdateService-Anleitung - Prüf-Endpunkte dokumentiert (check, latest, releases) samt Antwortformat. - Tabelle zum Versionsvergleich mit den Fällen, die vorher falsch liefen. - Auto-Resolve beim Veröffentlichen beschrieben. Agent-Prompt-Vorlage - Fehler-Schnittstelle ergänzt, inklusive Hinweis auf "ignored": true, damit ein Agent bekannte Fehler nicht untersucht. Alle in der Dokumentation genannten API-Pfade und Scopes wurden maschinell gegen Routing und TokenManager abgeglichen. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
65e60899f9
commit
5f9b0c5596
@@ -102,10 +102,17 @@ final class MonitorRepo
|
||||
? json_encode($checks, JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE)
|
||||
: null;
|
||||
|
||||
// "stopped" und "maintenance" sind angekuendigte Zustaende: der Dienst
|
||||
// wurde bewusst beendet bzw. gewartet. Der Evaluator laesst solche
|
||||
// Monitore in Ruhe, statt sie als Ausfall zu melden. Ohne diese beiden
|
||||
// Werte gab es keinen Weg, ein geplantes Herunterfahren mitzuteilen -
|
||||
// jeder saubere Shutdown erzeugte kurz darauf einen Fehlalarm.
|
||||
$state = match ($status) {
|
||||
'ok' => 'up',
|
||||
'warning' => 'warning',
|
||||
default => 'down',
|
||||
'ok' => 'up',
|
||||
'warning' => 'warning',
|
||||
'stopped' => 'stopped',
|
||||
'maintenance' => 'maintenance',
|
||||
default => 'down',
|
||||
};
|
||||
|
||||
// Eine fehlgeschlagene Pruefung stuft einen als "ok" gemeldeten
|
||||
@@ -114,6 +121,14 @@ final class MonitorRepo
|
||||
$state = 'warning';
|
||||
}
|
||||
|
||||
// last_status kennt nur ok/warning/error; angekuendigte Zustaende
|
||||
// gelten dort als unauffaellig.
|
||||
$lastStatus = match ($status) {
|
||||
'ok', 'stopped', 'maintenance' => 'ok',
|
||||
'warning' => 'warning',
|
||||
default => 'error',
|
||||
};
|
||||
|
||||
$previous = $this->getMonitor($source, $instance);
|
||||
$previousState = $previous !== null ? (string)$previous['state'] : null;
|
||||
|
||||
@@ -155,7 +170,7 @@ final class MonitorRepo
|
||||
':type' => $type,
|
||||
':state' => $state,
|
||||
':interval' => $intervalSec,
|
||||
':last_status' => in_array($status, ['ok', 'warning', 'error'], true) ? $status : 'error',
|
||||
':last_status' => $lastStatus,
|
||||
':message' => $message,
|
||||
':metrics' => $metricsJson,
|
||||
':health' => $healthJson,
|
||||
|
||||
Reference in New Issue
Block a user