Was macht custodian?
Custodian: Autonomer Betriebsmonitor – erkennt, klassifiziert und repariert Fehler von Agentenplattformen während ruhiger Stunden.
Übersicht
Custodian überwacht Ihre Agentenplattform (z. B. Claude Code, Cursor, Codex) automatisch, während Sie nicht aktiv arbeiten. Er erkennt Fehlerzustände, klassifiziert deren Schweregrad und führt vordefinierte Reparaturaktionen aus, um den Normalbetrieb wiederherzustellen.
Funktionen
- Autonome Fehlererkennung: Überwacht Logs, Metriken und API-Endpunkte auf Anomalien.
- Klassifikation: Kategorisiert erkannte Fehler nach Typ (z. B. Verbindungsfehler, Timeout, Authentifizierungsfehler) und Dringlichkeit (niedrig, mittel, hoch, kritisch).
- Reparaturaktionen: Führt konfigurierbare Aktionen aus, wie Neustart von Diensten, Löschen von Caches, Aktualisieren von API-Schlüsseln oder Auslösen von Alarmsystemen.
- Berichterstattung: Erstellt Zusammenfassungen aller erkannten Fehler und durchgeführten Reparaturen inklusive Erfolgs- oder Fehlermeldungen.
- Konfigurierbar: Alle Erkennungs-, Klassifikations- und Reparaturregeln werden in der Datei
custodian.yamldefiniert.
Installation
pip install custodian
Oder verwenden Sie das Docker-Image:
docker pull indigokarasu/custodian:latest
Konfiguration
Erstellen Sie eine Datei custodian.yaml im aktuellen Verzeichnis:
general:
interval: 300 # Überwachungsintervall in Sekunden
log_level: "INFO"
platforms:
- claude-code
- cursor
detection:
rules:
- type: "log_error"
pattern: "(ERROR|CRITICAL)"
source: "/var/log/agent.log"
- type: "http_status"
url: "http://localhost:8080/health"
expected_status: 200
classification:
levels:
- name: "low"
threshold: 1
- name: "medium"
threshold: 5
- name: "high"
threshold: 10
remediation:
actions:
- trigger: "high"
command: "systemctl restart agent"
- trigger: "critical"
command: "docker-compose restart"
notify: "[email protected]"
reporting:
output: "report.md"
channels:
- type: "email"
address: "[email protected]"
- type: "slack"
webhook: "https://hooks.slack.com/services/..."
Verwendung
CLI
custodian run
Mit benutzerdefiniertem Konfigurationspfad:
custodian --config /pfad/zu/custodian.yaml run
Docker
docker run -v $(pwd)/custodian.yaml:/app/custodian.yaml indigokarasu/custodian:latest
Umgebungsvariablen
| Variable | Beschreibung | Standard |
|---|---|---|
CUSTODIAN_CONFIG | Pfad zur Konfigurationsdatei | ./custodian.yaml |
CUSTODIAN_INTERVAL | Überwachungsintervall in Sekunden | 300 |
CUSTODIAN_LOG_LEVEL | Log-Level (DEBUG, INFO, WARNING, ERROR) | INFO |
Beispiele
Einfaches Überwachungsskript
from custodian import Custodian
c = Custodian()
c.monitor()
Eigene Reparaturaktion hinzufügen
from custodian import RemediationAction
class MeinReparaturAktion(RemediationAction):
def execute(self, context):
print(f"Repariere: {context['error']}")
return True
Lizenz
MIT