IoT DCIM Monitoring Platform
A modular, event-driven Data Centre Infrastructure Management platform — ingesting data from heterogeneous external systems, standardizing it through an ETL pipeline, and surfacing real-time dashboards, floorplans, alarms, and reports for operations teams.
Overview
DCIM HUB collects data from multiple external systems, normalizes it through a shared ETL pipeline, and stores it in a structured DCIM data model. From there, a suite of application modules — dashboards, floorplans, alarm management, reporting, and outbound data sinks — operate independently on the shared data layer. The platform is designed to be integration-first: new sources and sinks plug in without changing core business logic.
High-Level Architecture
Data Sources
Visualization
Data Sink
Architecture Layers
Data Source Layer
Ingress — external system integration
- —API polling (e.g. Schneider EBO API)
- —Database ingestion (PostgreSQL / TimescaleDB)
- —Webhook push-based ingestion
- —Connection management & health monitoring
ETL / Processing Layer
Transform raw data into DCIM format
- —Data mapping & normalization
- —Event classification (sensor, alarm, rack)
- —Data validation & deduplication
- —Trigger downstream events on the event bus
Core Data Layer
Central DCIM storage
- —Sites, suites, racks, assets, sensors
- —Alarm records & historical telemetry
- —Relational store — PostgreSQL
- —Time-series store — TimescaleDB
Application Layer
Business logic & APIs
- —Asset, sensor & alarm management
- —Floorplan & dashboard management
- —Reporting engine (PDF / Excel)
- —Data sink management & file storage
Visualization Layer
User-facing monitoring & management UI
- —Dashboard viewer & editor
- —Interactive floorplan viewer & editor
- —Alarm monitoring UI
- —Asset management & reporting UI
Data Sink Layer
Egress — outbound integrations
- —Real-time event-based push
- —Scheduled batch delivery
- —Sensor, alarm & rack change propagation
- —REST API & webhook output
Event-Driven Data Flow
The platform is event-driven at its core. Each stage emits typed events consumed independently by downstream modules, enabling loose coupling and real-time processing.
- 1
Data Source
External system pushes or is polled for new data.
- 2
ETL
Raw payload is mapped, classified, and validated.
- 3
Event Bus
Standardized DCIM events are emitted (sensor updated, alarm triggered, and more).
- 4
Modules
Application modules such as alarm management, dashboards, and reporting react independently.
- 5
Data Sink
Outbound handlers push updates to external DCIM or third-party systems.
API Boundary Design
Internal API
JWT / session authenticated · served to the frontend
- GET/api/v1/sensorsList & query sensor readings
- GET/api/v1/alarmsActive & historical alarms
- GET/api/v1/racksRack inventory & telemetry
- POST/api/v1/data-sinksCreate outbound sink config
External API
Token-based · scoped to a registered data sink
- POST/external/data-sinks/:code/sensorsReceive sensor payload
- POST/external/data-sinks/:code/alarmsReceive alarm event
- POST/external/data-sinks/:code/racksReceive rack update
- GET/external/data-sinks/:code/statusSink health check
Design Decisions
Event-Driven Core
Modules are loosely coupled via an event bus. Adding a new data source or sink does not require touching existing business logic — only a new handler is wired in.
Dual API Surface
Internal APIs (/api/v1/…) serve the frontend with full auth context. External APIs (/external/…) expose scoped, token-authenticated endpoints for third-party systems and data sinks.
PostgreSQL + TimescaleDB
Relational tables cover entities (racks, assets, alarms) while TimescaleDB handles high-volume sensor telemetry with native time-series compression and range queries.
Plug-in Architecture
New data source types, sink adapters, report templates, and dashboard widgets can be registered without modifying core modules — keeping the platform extensible as integrations grow.
Non-Functional Requirements
Performance
- —Stateless API servers for horizontal scaling
- —TimescaleDB for fast telemetry range queries
- —Queue-based ingestion workers (future)
Reliability
- —Health monitoring per data source connection
- —Deduplication in ETL prevents duplicate events
- —Scheduled & manual sink retry modes
Security
- —Internal APIs: JWT / session auth
- —External sink APIs: token-based access
- —RBAC with tenant/site-level isolation
Future Architecture Extensions
- AI Automation on Dashboard/Floorplan Management
- AI / RAG module for analytics & insights
- Edge processing at IoT gateway level
- Multi-tenant isolation for enterprise scale