Observability
Logs, Request-IDs, Metriken, Fehler, Sitzungen und Audit-Logs.
Observability
Der Betrieb von ObjectOS benötigt sowohl Infrastruktursignale als auch Anwendungssignale. Das Framework stellt Request-ID-, Metrik-, Error-Reporter- und Audit-Primitive bereit; das Deployment entscheidet, wohin diese exportiert werden.
Request-Identität
Jedes Produktions-Deployment sollte eine Request-ID weiterleiten oder erzeugen:
X-Request-IdVerwenden Sie sie, um Folgendes zu korrelieren:
- Ingress-Logs;
- ObjectOS-Logs;
- langsame Datenbankabfragen;
- Fehlerberichte;
- Support-Tickets von Kunden.
Metriken und Fehler
Die Runtime stellt austauschbare Schnittstellen für Metriken und Error-Reporter bereit. Verbinden Sie diese mit dem vom Kunden gewählten System, etwa Prometheus, OpenTelemetry, Datadog, Sentry oder einem anderen genehmigten Backend.
Erfassen Sie mindestens:
| Signal | Warum |
|---|---|
| Anzahl der Requests nach Route/Status | Fehlerspitzen erkennen |
| Request-Dauer | Latenzregressionen erkennen |
| 5xx-Fehler | Bei Runtime-Fehlern alarmieren |
| Authentifizierungsfehler | Konfigurations- oder Angriffsmuster erkennen |
| Artifact-/Kernel-Cache-Misses | Cold-Start-Verhalten verstehen |
Minimales Prometheus-Beispiel
ObjectOS stellt einen Prometheus-kompatiblen Metrik-Endpunkt bereit, wenn der Metrik-Dienst aktiviert ist:
# prometheus.yml
scrape_configs:
- job_name: objectos
metrics_path: /metrics
static_configs:
- targets: ['objectos:3000']Nützliche Start-Alerts:
groups:
- name: objectos
rules:
- alert: ObjectOS5xxSpike
expr: |
sum(rate(http_requests_total{status=~"5.."}[5m]))
/ sum(rate(http_requests_total[5m])) > 0.02
for: 5m
annotations:
summary: "ObjectOS 5xx rate above 2% for 5 minutes"
- alert: ObjectOSAuthFailureSpike
expr: rate(auth_failures_total[5m]) > 5
for: 10m
annotations:
summary: "Sustained auth failure rate — check for misconfiguration or attack"
- alert: ObjectOSKernelColdStartHigh
expr: rate(kernel_cache_misses_total[15m]) > 1
for: 15m
annotations:
summary: "Frequent project kernel cold starts — consider raising OS_KERNEL_CACHE_SIZE"Für OpenTelemetry setzen Sie OS_OBS_EXPORTER=otlp und OS_OTLP_ENDPOINT
(z. B. https://<collector>/otlp), und ObjectOS gibt Traces und Metriken im
OTLP-Format aus. Der Exporter ist standardmäßig noop (keine Laufzeitkosten),
also ist der OTLP-Export opt-in — wird ein Endpunkt ohne OS_OBS_EXPORTER=otlp
gesetzt, wird nichts ausgegeben. Verwenden Sie OS_OBS_EXPORTER=console oder
json für lokales Debugging und OS_OBS_DEPLOYMENT_ENV, um das Deployment zu
kennzeichnen (Standard production). Die Struktur der Spans entspricht dem
Request-Ablauf.
Audit-Logs
Wenn die Audit-Funktion aktiviert ist, schreibt ObjectOS Audit-Datensätze nach
sys_audit_log.
Verwenden Sie Audit-Logs für:
- berechtigungsrelevante Änderungen;
- Einstellungsänderungen;
- Untersuchungen von Benutzern/Sitzungen;
- Integrationsaktivität;
- Analyse verweigerter Zugriffe.
Machen Sie in regulierten Umgebungen die Audit-Tabelle auf Datenbank- oder Speicherebene append-only und definieren Sie eine Aufbewahrungsrichtlinie.
Console-Diagnose
Die Console stellt operative Oberflächen bereit, etwa:
- Sessions;
- Audit Logs;
- Notifications;
- Webhook Deliveries, wenn Webhooks aktiviert sind;
- Übersichts-Dashboards für System und Security.
Diese sind für Operatoren und Support-Ingenieure gedacht, nicht nur für Entwickler.