How nguyentrongduc2005/log-monitoring-system works
Log Monitoring System is a Spring Boot modular-monolith backend with a React dashboard: applications submit logs, which are authenticated, sanitized and queued for processing, then stored and exposed for search, live monitoring, alerting, anomaly detection and incident investigation. Other documented product areas include identity/access management, analytics, Prometheus-backed metric detection, and retention. The graph combines README architecture claims with the supplied ingestion, identity, alerting, incident and retention excerpts; wiring for unsampled modules is shown only where documented.
Main entry points: alerting/internal Alerting · processing/internal Log Processing · LogIngestionService.java Ingestion Service · anomaly/internal Anomaly Detection
Components 22
Log Intake
- Ingestion API
apps/backend/src/main/java/com/vdt/log_monitoring/api/ingestion/LogIngestionController.java - Ingestion Service
apps/backend/src/main/java/com/vdt/log_monitoring/modules/ingestion/internal/LogIngestionService.java - Raw Log Queue
Processing & Analysis
- Log Processing
apps/backend/src/main/java/com/vdt/log_monitoring/modules/processing/internal - ClickHouse Logs
- Live Log Queue
- Search & Analytics
apps/backend/src/main/java/com/vdt/log_monitoring/modules/analytics/internal - Anomaly Detection
apps/backend/src/main/java/com/vdt/log_monitoring/modules/anomaly/internal - Prometheus
- Anomaly Reports
- Anomaly Event Queue
Alerts & Incidents
- Alerting
apps/backend/src/main/java/com/vdt/log_monitoring/modules/alerting/internal - Alert & Rule Store
- Telegram
- WebSocket
apps/backend/src/main/java/com/vdt/log_monitoring/api/realtime/RealtimeWebSocketConfig.java - Incident Investigation
apps/backend/src/main/java/com/vdt/log_monitoring/modules/incident/internal/incident/IncidentService.java - Incident AI
apps/backend/src/main/java/com/vdt/log_monitoring/modules/incident/internal/ai/IncidentAnomalyReportAiService.java
Platform Services
- Identity & Access
apps/backend/src/main/java/com/vdt/log_monitoring/modules/identity/internal - Redis
- Retention
apps/backend/src/main/java/com/vdt/log_monitoring/modules/retention/internal/RetentionService.java
Other components
- External Applications
- React Dashboard
Connections 30
- External Applications → Ingestion API: submits logs
- Ingestion API → Ingestion Service: calls facade
- Ingestion Service → Identity & Access: verifies API key
- Ingestion Service → Redis: checks idempotency
- Ingestion Service → Raw Log Queue: publishes raw logs
- Raw Log Queue → Log Processing: delivers logs
- Log Processing → ClickHouse Logs: writes processed logs
- Log Processing → Live Log Queue: publishes live events
- Log Processing → Alerting: sends critical events
- Log Processing → Anomaly Detection: sends log signals
- Live Log Queue → WebSocket: streams logs
- React Dashboard → WebSocket: subscribes
- React Dashboard → Search & Analytics: searches logs
- Search & Analytics → ClickHouse Logs: queries logs
- React Dashboard → Identity & Access: management requests
- Identity & Access → Redis: stores refresh tokens
- Anomaly Detection → Prometheus: queries metrics
- Anomaly Detection → Anomaly Reports: stores reports
- Anomaly Detection → Anomaly Event Queue: publishes detections
- Anomaly Event Queue → Alerting: delivers detections
- Alerting → Alert & Rule Store: stores alerts and rules
- Alerting → Redis: deduplicates alerts
- Alerting → Telegram: sends notifications
- Alerting → WebSocket: publishes alert events
- React Dashboard → Alerting: manages alert rules
- Alerting → Incident Investigation: starts investigations
- Incident Investigation → Incident AI: requests analysis
- Incident AI → Incident Investigation: returns findings
- React Dashboard → Incident Investigation: reviews incidents
- Retention → ClickHouse Logs: deletes expired logs