How ahmedabrarzayad/infra-monitor works
Infra Monitor is a Django backend, a Flutter client, and a separate ML service for Linux-server monitoring. The principal workflow enrolls an organization’s server, receives telemetry, and presents operational data and work items—alerts, incidents, logs, and anomaly detections—to users. The graph preserves those distinct domain stages and the Request Shield and AI-assistant capabilities. Several feature relationships are documented in the README; unsampled implementation details are not inferred. The supplied tree contains no Flutter application source files, so the client is represented only by its initiating users.
Main entry points: urls.py Django API routing · servers Servers and services · ml_model Anomaly detections · authorization.py Membership authorization
Components 19
Accounts and access
- Accounts and enrollment
backend/accounts - Membership authorization
backend/common/authorization.py
Monitoring and ingestion
- Installer and ingestion
backend/installer - Servers and services
backend/servers - Telemetry queries
backend/servers/services/victoriametrics.py
Operational workflows
- Alerts
backend/alert - Incidents and updates
backend/incident - Operational logs
backend/log - Dashboard analytics
backend/dashboard
Analytics and assistance
- Anomaly detections
backend/ml_model - Inference orchestration
backend/ml_model/tasks.py - ML service
model/app/main.py - AI assistant
backend/ai - Request Shield
backend/sanitize
Platform services
- Notifications
backend/notifications - Django API routing
backend/infra_monitor/urls.py
Other components
- Organization user
- VictoriaMetrics
- Grafana Alloy
Connections 27
- Organization user → Accounts and enrollment: enrolls
- Accounts and enrollment → Servers and services: registers organization
backend/accounts/services/organization_service.py - Grafana Alloy → VictoriaMetrics: writes telemetry
- Installer and ingestion → Servers and services: enrolls hosts
- Installer and ingestion → VictoriaMetrics: accepts remote writes
- Organization user → Dashboard analytics: views overview
- Organization user → Alerts: reviews alerts
- Organization user → Incidents and updates: manages incidents
- Organization user → Operational logs: views logs
- Organization user → Anomaly detections: reviews anomalies
- Telemetry queries → VictoriaMetrics: queries metrics
- Inference orchestration → Servers and services: loads services
backend/ml_model/tasks.py - Inference orchestration → ML service: trains and infers
backend/ml_model/tasks.py - ML service → Anomaly detections: posts detections
model/app/main.py - Organization user → AI assistant: asks questions
- AI assistant → Anomaly detections: uses anomaly evidence
backend/ai/services.py - AI assistant → Organization user: streams guidance
- Request Shield → ML service: classifies requests
backend/sanitize/services.py - Django API routing → Accounts and enrollment: routes API
- Django API routing → Servers and services: routes API
- Django API routing → Alerts: routes API
- Django API routing → Incidents and updates: routes API
- Django API routing → Operational logs: routes API
- Membership authorization → Servers and services: limits visibility
backend/common/authorization.py - Membership authorization → Incidents and updates: limits visibility
backend/common/authorization.py - Membership authorization → Anomaly detections: limits visibility
backend/common/authorization.py - Notifications → Organization user: delivers updates