obhutDoku

Dokumentation durchsuchen

Dokumentationsseiten durchsuchen

Web-Analyse ohne Cookies

Aggregierte Seitenaufrufe pro Anwendung ohne JavaScript, Cookies oder Besucherkennungen aktivieren, lesen und exportieren.

obhut zählt Seitenaufrufe direkt am Edge — ohne JavaScript, ohne Cookies, ohne Besucherkennung und ohne gespeicherte IP-Adressen. Es gibt kein Skript, das Sie einbinden müssen. Gezählt werden ausschließlich aggregierte Zahlenreihen, nie einzelne Anfragen.

Aktivieren

Die Erfassung ist pro Anwendung ausdrücklich opt-in und standardmäßig aus. Aktivieren Sie sie im Dashboard an der Anwendung oder per API (Rolle admin):

curl --fail-with-body -X PATCH \
  "https://api.obhut.io/tenants/$TENANT/resources/$RESOURCE_ID" \
  --header "Authorization: Bearer $OBHUT_PAT" \
  --header 'Content-Type: application/json' \
  --data '{"webAnalyticsEnabled": true}'

Setzen Sie den Wert auf false, stoppt die Erfassung sofort.

Was gezählt wird

Ein Aufruf zählt nur, wenn alle Bedingungen erfüllt sind:

  • die Methode ist GET,
  • der finale Content-Type der Antwort ist text/html,
  • der Host gehört zu einer Ihrer Anwendungen.

Weiterleitungen und reine Text-Fehler oder -Ablehnungen sind damit keine Seitenaufrufe. Statisch ausgelieferte und getunnelte HTML-Seiten zählen gleich.

Pro Stunde, Anwendung, normalisiertem Pfad und Statusklasse (2xx, 3xx, 4xx, 5xx) wird genau ein Zähler geführt — mehr wird nicht gespeichert.

Pfad-Normalisierung

Query-Strings erreichen den Normalisierer nie. Pfade werden vereinheitlicht: führender /, zusammengefasste Mehrfach-Slashes, begrenzte Länge, und UUID-, rein numerische sowie lange zufällige Segmente werden zu :id. Die Groß-/Kleinschreibung bleibt erhalten, weil URL-Pfade sie unterscheiden können.

Pro Anwendung und Minute werden höchstens 100 verschiedene Pfade geführt; jeder weitere fällt in den Sammelwert __other__. Steht __other__ in Ihren Daten, ist die Rangfolge der Top-Pfade daher nicht mathematisch exakt.

Auslesen

Die Leseroute liegt hinter dem security_reader-Gate — ein API-Token mit Rolle auditor, member oder admin genügt.

curl --fail-with-body \
  "https://api.obhut.io/tenants/$TENANT/web-analytics?from=2026-06-01&to=2026-06-30" \
  --header "Authorization: Bearer $OBHUT_PAT"

Ohne from/to erhalten Sie die letzten 7 Tage; resourceId grenzt auf eine Anwendung ein. Die Antwort liefert Stunden-Buckets (grain: "hour") mit total, series, statusClasses und topPaths sowie die geltenden Aufbewahrungsfristen.

FeldBedeutung
totalSumme der Seitenaufrufe im Zeitraum
seriesEin Zähler je Stunden-Bucket
statusClassesAufteilung nach 2xx/3xx/4xx/5xx
topPathsMeistgefragte normalisierte Pfade, ggf. inkl. __other__
overflowedtrue, wenn ein Zähler die exakt darstellbare Größe überschreitet

Exportieren

curl --fail-with-body \
  "https://api.obhut.io/tenants/$TENANT/web-analytics/export?format=csv&from=2026-06-01&to=2026-06-30" \
  --header "Authorization: Bearer $OBHUT_PAT" \
  --output web-analyse.csv

Die CSV-Datei beginnt mit dieser Kopfzeile:

bucket_hour,resource_id,normalized_path,status_class,html_requests

Mit format=json erhalten Sie dieselben Zeilen als JSON. Der Export ist auf 50.000 Zeilen begrenzt — darüber antwortet die API mit 413 und export_too_large, dann grenzen Sie den Zeitraum weiter ein.

Aufbewahrung

Minuten-Buckets werden 7 Tage vorgehalten, Stunden-Buckets 90 Tage. Danach werden sie gelöscht. Da nur Aggregate gespeichert werden, gibt es keine Rohdaten, die sich nachträglich einer Person zuordnen ließen.