Skip to main content

Dashboard

Overview

CLM Dashboard menyediakan real-time monitoring untuk seluruh sistem.

Dashboard Pages

Main Dashboard (/)

Pipeline Status

ComponentStatusHealthy CountTotalEPS
Fluent Bit✅ Healthy27628018,200
Apache Camel✅ Healthy6618,200
OTel Agent✅ Healthy5518,200
Wazuh Agent✅ Healthy6617,900
Fluentd✅ Healthy4412,400
OpenSearch✅ Healthy334,200

Data Center Status

DC NameTypeStatusOKWarnDownCPUMemory
DC-BandungPrimary✅ Operational235250%50%
DC-JakartaSecondary✅ Operational262239%45%
DRC-SurabayaDRC✅ Operational182044%44%

Throughput

CategoryEPSPercentage
Middleware14,00035%
Channel10,00025%
Security7,00017%
Core Banking3,0007%
Internet Banking2,0005%
Funding1,5004%
Lending1,0002%
Card5001%
Treasury2000.5%
Supporting1000.3%
  • Full-text search
  • Time range filtering
  • Field-based filtering
  • Paginated results
  • Log histogram

Alerting (/alerting)

  • Active alerts
  • Alert rules
  • Notification channels
  • Alert history

Security (/security)

  • Wazuh alerts
  • Security monitoring
  • Threat detection

Compliance (/compliance)

  • ISO 27001 status
  • ISO 20022 status
  • ISO 22301 status
  • Audit trail

APM (/apm)

  • Service map
  • Distributed tracing
  • Service traces

Infrastructure (/infrastructure)

  • Container metrics
  • Host metrics
  • Network metrics
  • Collector health

API Endpoints

Dashboard APIs

EndpointDescription
GET /api/v1/dashboard/pipeline/statusPipeline status
GET /api/v1/dashboard/dc/statusData center status
GET /api/v1/dashboard/throughputThroughput metrics
GET /api/v1/dashboard/overviewDashboard overview
GET /api/v1/dashboard/log-volume/24hLog volume 24h
GET /api/v1/dashboard/systems/count/24hSystems count
GET /api/v1/dashboard/systems/error-rate/24h/topError rates
GET /api/v1/dashboard/systems/latency/24hLatency
GET /api/v1/dashboard/systems/throughput/eps/24hThroughput EPS

Real-time Updates

WebSocket

// Connect to dashboard updates
const ws = new WebSocket('ws://localhost:8081/ws');

ws.onmessage = (event) => {
const data = JSON.parse(event.data);
updateDashboard(data);
};

Polling

// Poll dashboard data
setInterval(async () => {
const response = await fetch('/api/v1/dashboard/overview');
const data = await response.json();
updateDashboard(data);
}, 30000);

Next Steps