Check-Repository-Referenz
Repository-Typen, wie octoja sie synchronisiert und der registry.json-Aufbau, den ein Check-Repository veröffentlichen muss, damit seine Monitoring-Checks in der Check-Bibliothek erscheinen.
Geschrieben von Stefan Steuer
Zuletzt aktualisiert Vor 8 Tagen
Check-Repository-Referenz
Ein Check-Repository ist eine Quelle für Monitoring-Check-Definitionen. octoja liest ein Repository, speichert dessen Check-Liste zwischen und zeigt die Checks in der Check-Bibliothek, damit du sie Geräten zuweisen kannst. Diese Referenz beschreibt die Repository-Typen, wie octoja sie synchronisiert und den genauen Aufbau, den ein Repository veröffentlichen muss. Die Schritt-für-Schritt-Anleitung zum Anbinden findest du unter Ein Community-Check-Repository anbinden.
Repository-Typen
Wie die Synchronisation funktioniert
- octoja synchronisiert jedes URL-basierte Repository automatisch einmal pro Stunde.
- Die stündliche Synchronisation lädt nur, wenn die Registry des Repositories einen
generated-Zeitstempel meldet, der neuer als deine letzte Synchronisation ist — ein unverändertes Repository wird übersprungen. Die manuelle Aktion Jetzt synchronisieren erzwingt immer eine vollständige Aktualisierung. - Jedes Repository wird unabhängig synchronisiert: ein nicht erreichbares oder fehlerhaftes Repository stoppt die anderen nicht, und eine fehlgeschlagene Synchronisation lässt die zuvor zwischengespeicherte Check-Liste unangetastet.
- Bei jeder erfolgreichen Synchronisation ersetzt octoja den zwischengespeicherten Eintrag jedes Checks anhand der
id, sodass Aktualisierungen eines Checks sich in die Check-Bibliothek übertragen. Ein aus der Registry entfernter Check bleibt in der Check-Bibliothek, bis du das Repository löschst. - Nutzt das Repository HTTP-Basic-Authentifizierung, werden dieselben Zugangsdaten beim Abruf der Registry, beim Abruf des Manifests jedes Checks und bei jedem Binär-Download gesendet.
Was ein Repository veröffentlichen muss
Ein Check-Repository ist eine einfache HTTP- oder HTTPS-Website. Ausgehend von der Basis-URL, die du registrierst, erwartet octoja:
Die gesamte Website darf hinter einem einzigen HTTP-Basic-Auth-Bereich liegen; gib die Zugangsdaten beim Anbinden des Repositories an.
registry.json
{ "version": "1.0", "generated": "2026-07-08T10:00:00Z", "baseUrl": "https://checks.example.com/", "checks": [ { "id": "disk-temperature", "name": { "en": "Disk Temperature", "de": "Festplattentemperatur" }, "description": { "en": "Reports the temperature of each drive.", "de": "Meldet die Temperatur jeder Festplatte." }, "author": "Example MSP", "icon": { "type": "component", "library": "lucide", "name": "thermometer" }, "category": "hardware", "tags": ["disk", "temperature"], "platforms": ["win-x64", "linux-x64"], "version": "1.2.0", "interval": 15, "executionLocation": "Device", "executable": { "win-x64": { "downloadUri": "https://checks.example.com/checks/disk-temperature/1.2.0/win-x64/check.exe", "executableName": "check.exe", "fileType": "Exe", "executionType": "Exe" } } } ]}Felder einer Check-Definition
Jeder Eintrag in checks[] beschreibt einen Check. Lokalisierte Textfelder (name, description) nehmen ein Objekt mit den Schlüsseln en, de, fr und nl; en wird verwendet, wenn die Sprache des Lesers fehlt.
executable-Einträge
UI-Manifest je Check (ui.json)
Für jeden Check ruft octoja checks/{id}/{version}/ui.json ab. Das Manifest definiert zwei Dinge:
input— die Parameter, die beim Zuweisen des Checks an ein Gerät angezeigt werden, per Parametername. Jedes Feld deklariert seinen Typ, den lokalisierten Titel und die Beschreibung, ob es erforderlich ist, einen Standardwert und (bei Auswahlfeldern) seine Optionen.output— wie das Ergebnis des Checks dargestellt wird: ein Detail-Renderer für den Checks-Tab des Geräts, ein History-Renderer für vergangene Ergebnisse und ein Widget-Renderer für Dashboard-Kacheln.
Ein Check, dessen UI-Manifest nicht abgerufen werden kann, wird trotzdem gelistet — jedoch ohne seine eigenen Eingabefelder und Ergebnisdarstellung.
Ergebnisse des Verbindungstests
Die Schaltfläche Verbindung prüfen in den Dialogen zum Hinzufügen und Bearbeiten prüft das Repository über denselben Codepfad, den eine echte Synchronisation nutzt.
Berechtigungen
Verwandte Artikel
- Einen Custom-Script-Check konfigurieren — baue deinen eigenen Check in octoja, statt ein Repository zu hosten.
- Checks — wie Checks funktionieren und der vollständige eingebaute Katalog.