Infrastructure Monitoring · Automation
LocalOps AI
Distributed platform for collecting, centralizing, and visualizing Linux infrastructure data using Python collectors, Django, and PostgreSQL.
The project
Infrastructure monitoring project designed to collect data from Linux servers, centralize reports, and track their evolution through a web platform. The architecture separates report generation on the monitored server from report reception, storage, and visualization on a central platform.
Design and development of the distributed architecture, data collectors, SSH communication, Django ORM integration, PostgreSQL persistence, and monitoring interface.
Architecture
Distributed architecture running across two machines. The Kakaroto server runs independent Python collectors that generate JSON reports. A Python collector, deployed on the central machine using Docker Compose, retrieves the reports over SSH and stores them in PostgreSQL through Django ORM models. The Django application queries and displays the information through its dashboard.
Processing
Processing is divided into two stages. On Kakaroto, collectors retrieve information from system logs and services and generate structured JSON reports. The central collector then retrieves these reports over SSH and processes them for storage in the database through Django ORM.
Development
Backend
Frontend
Database
Features
- Automated infrastructure data collection
- Generation of structured JSON reports
- Communication between machines using SSH
- Centralized report transfer
- Data persistence using Django ORM
- Historical data storage in PostgreSQL
- Models for managing monitoring reports
- Web dashboard for accessing monitoring data
Administration
Django application organized around models and views to manage received reports and display the information stored on the central platform.
Infrastructure
Technologies
Highlights
- Distributed architecture across two machines
- Separation of data collection and central processing
- Secure communication using SSH
- JSON report processing
- Data persistence using Django ORM
- Historical data storage in PostgreSQL
- Development of a monitoring dashboard
- Deployment using Docker Compose
Deployment
Central environment deployed using Docker Compose, with a Django application and a Python collector organized as independent components. The monitored server runs its own collectors and generates reports that are subsequently retrieved over SSH.