Zum Inhalt springen
← Zurück zu den Projekten

Projekt · Oracle Security Operations

Audit-Trails, die nicht einfrieren.

Ein schlankes Web-Dashboard für Oracle Unified Auditing – fehlgeschlagene Events auf einen Blick, mit Drill-Down, kombinierten Filtern und Monatsreport. Gebaut für den täglichen DBA-Alltag.

PHPOracleAuditingWeb ApplicationEnterprise
Unified Audit Dashboard Screenshot
01

Das Problem

Oracle Unified Auditing liefert wertvolle Daten – aber der direkte Zugriff über SQL ist mühsam, und viele Monitoring-Tools sind Overkill oder teuer.

Die erste Version des Dashboards lud alle fehlgeschlagenen Audit-Events als riesigen JSON-Blob in den Browser. Bei großen Trails: PHP-Speicher voll, Tab eingefroren, Filter langsam.

DBAs brauchen schnellen Zugriff auf das Wesentliche: Was ist fehlgeschlagen? Von wem? Wann? Und wie entwickelt sich das über die Zeit?

02

Die Idee

Ein DIY-Dashboard, das speziell auf Oracle Unified Auditing zugeschnitten ist – ohne Enterprise-Lizenz, ohne Vendor-Lock-in.

Klickbare Tabellenzellen zum sofortigen Filtern, kombinierte und speicherbare Filter, Pie-Charts in der Sidebar und ein Line-Chart mit Tag-zu-Stunde-Drill-Down.

Dazu ein kompletter Performance-Rewrite: Aggregates beim ersten Laden, Tabellenzeilen per API mit serverseitigem Paging – große Trails bleiben schnell und stabil.

03

Die Lösung

Das Unified Audit Dashboard ist eine PHP-Webanwendung mit Oracle OCI8-Anbindung. Beim Start werden nur Aggregates geladen – Counts, Pie-Charts, stündliche Zeitreihen.

Tabellenzeilen kommen über fetch_entries.php mit serverseitigem Paging und Filtering. Der Line-Chart aktualisiert sich über fetch_timeline.php mit denselben Filterkriterien.

Ops-Console-Design mit IBM Plex Sans/Mono, Slate- und Teal-Palette – bewusst kein generisches AI-Dashboard. Optional LDAP-Login, ORA-Code-Links, OEM- und ITSM-Hilfen, Monatsreport inklusive.

Highlight · Performance-Rewrite

Von JSON-Wälle zu Server-Side-Paging

Die alte Version lud alle fehlgeschlagenen Audit-Events auf einmal. Der Rewrite macht große Trails wieder handhabbar.

Bei Oracle Unified Auditing wachsen die Daten schnell. Die erste Dashboard-Version hat alle fehlgeschlagenen Events in PHP-Arrays geladen, als JSON in die Seite eingebettet und im Browser gefiltert – bei großen Umgebungen ein Speicher- und Performance-Problem.

Der strukturelle Rewrite trennt Aggregates von Detaildaten: Beim ersten Paint nur Counts und Charts, Tabellenzeilen on demand per API.

  1. 1

    Bootstrap beim Laden

    index.php lädt über AuditRepository nur Aggregates – Counts, Pie-Chart-Daten und stündliche Zeitreihen für den 7-Tage-Lookback.

  2. 2

    Tabellenzeilen per API

    fetch_entries.php liefert paginierte, gefilterte Events – serverseitig sortiert und durchsucht. Der Browser rendert nur die aktuelle Seite.

  3. 3

    Timeline synchron

    fetch_timeline.php nutzt dieselben Filter wie die Tabelle – Klick auf einen Chart-Punkt löst konsistente Filterung aus, ohne Daten-Duplikate.

  4. 4

    Filter bleiben erhalten

    Kombinierte Filter, Exact Match und gespeicherte Sessions funktionieren weiter – nur die Datenquelle ist jetzt die API statt ein eingebettetes JSON.

  5. 5

    Speicher bleibt stabil

    Große Audit-Trails belasten weder PHP-Speicher noch den Browser-Tab. Das Dashboard bleibt auch bei wachsenden Umgebungen nutzbar.

Einblicke

So sieht Unified Audit Dashboard aus.

Unified Audit Dashboard Hauptansicht
Dashboard – Pie-Charts, Events-by-Time-Chart und Audit-Tabelle mit serverseitigem Paging.
Filter und Suche im Unified Audit Dashboard
Filter & Suche – kombinierte Filter, gespeicherte Sessions und konfigurierbare Spalten.
Monatsreport im Unified Audit Dashboard
Monatsreport – Events pro Tag, Top-10-Actions und Top-10-Usernames für Compliance-Reviews.

Hinter den Kulissen

Tech & Insights

Server-Side Paging

AuditRepository.php kapselt Oracle-Queries – Paging, Filter und Aggregates bleiben auf dem Server. Keine JSON-Wälle mehr im Browser.

Filter-Engine

Kombinierte Filter, Exact Match, gespeicherte Sessions, Spalten-Sichtbarkeit – filterTable.js steuert die UI, die API liefert nur passende Zeilen.

Visualisierung

Pie-Charts in der Sidebar, Line-Chart mit Tages- und Stunden-Drill-Down – Klick auf einen Chart-Punkt filtert die Tabelle mit.

Monatsreport

Separater Report-Modul für monatliche Auswertungen – ideal für Compliance-Reviews und wiederkehrende Security-Checks.

Stack

PHP 8+, Apache, Oracle Instant Client mit OCI8, optional LDAP – getestet mit Oracle 19c und Unified Auditing aktiviert.

Open Source

MIT-Lizenz auf GitHub – Hobby-Projekt ohne Garantie, aber produktionserprobt im DBA-Alltag.

Problem erkannt. Lösung gebaut.

Unified Audit Dashboard ist ein echtes Produkt – aus einer konkreten Idee.