A lightweight, self-hosted monitoring dashboard for production database fleets. Built for DBAs who need Oracle Enterprise Manager-style insight without the enterprise price tag.
OEM-Lite continuously polls a fleet of Oracle and PostgreSQL instances and surfaces what actually matters to a DBA on call: who is blocking whom, which queries are burning CPU, which tablespace will fill up next, and which backup is about to miss its SLA. Everything refreshes live over WebSocket and alerts route to Telegram within seconds.
- Multi-engine monitoring - Oracle 12c / 19c (incl. RAC, PDB), PostgreSQL 13-16 (primary + hot standby) from a single pane of glass
- Real-time session monitor - active sessions, blocking trees, idle-in-transaction with one-click kill
- Slow query intelligence - top SQL grouped by
SQL_ID, execution plan capture, buffer-gets / elapsed trending - Wait event analysis - doughnut breakdown of
db file sequential read,log file sync, CPU, buffer busy - Tablespace & growth forecasting - linear regression on segment growth, predictive "full in N days" warnings
- RMAN backup tracking - success / failure / duration history per instance, SLA breach detection
- Alerting - threshold + anomaly rules -> Telegram bot, email, webhook
- Integrations - Grafana data-source export, Portainer link-through for the host container
- Audit log - every admin action is recorded with user, IP, and JSON diff
- Role-based access - viewer / operator / admin with per-instance scoping
- i18n - English, Russian, Uzbek (additional locales via JSON)
| Layer | Technology |
|---|---|
| Frontend | React + Vite, Tailwind, Chart.js, WebSocket client |
| Backend | Node.js (Fastify), JWT auth, BullMQ for the polling loop |
| Metadata | PostgreSQL 16 (users, alerts, history, audit) |
| Probes | node-oracledb for Oracle, pg for PostgreSQL |
| Delivery | Docker Swarm / Compose, single-host or 3-node HA |
docker run -d \
-p 8080:80 \
-e PG_PASSWORD=changeme \
-e JWT_SECRET=$(openssl rand -hex 32) \
--name oem-lite \
behruzops/oem-lite:latest
# open http://localhost:8080 (default login: admin / admin)For a full HA stack (Postgres + backend + frontend behind nginx), use the included docker-compose.yml.
Production-ready. Powering live deployments since 2025. MIT for personal use, commercial license for redistribution.
Built by Behruz Shuxratov - DBA and observability engineer based in Tashkent. Available for freelance work: dashboards, monitoring pipelines, Oracle/PG performance tuning.
- Email: behruzshuxratov58@gmail.com
- GitHub: @behruzops
