ReliabilityGuard is a Python and Streamlit-based reliability-monitoring application that combines computer-health monitoring, network diagnostics, simulated financial-data validation, system-log analysis, probable-cause suggestions, incident reporting and SQLite-based incident history.
The project demonstrates concepts relevant to financial-data platforms and site-reliability engineering, including data quality, Python programming, relational databases, operating-system monitoring, networking fundamentals, troubleshooting and service reliability.
ReliabilityGuard provides rule-based probable-cause suggestions. It does not claim to perform confirmed or automatic root-cause detection.
Financial and infrastructure platforms depend on accurate data, healthy systems and reliable network services.
A financial-data error such as a missing price, duplicate record, stale timestamp or invalid volume can affect downstream processing and analysis. Similarly, high resource usage, service timeouts, unavailable ports and connection failures can reduce platform reliability.
ReliabilityGuard brings these checks into one beginner-friendly monitoring dashboard.
- CPU usage monitoring
- RAM usage monitoring
- Disk usage monitoring
- System uptime
- Running-process count
- Configurable warning threshold
- Manual metric refresh
- Hostname cleaning and validation
- Domain-to-IP resolution
- Ping connectivity testing
- TCP port-reachability testing
- Approximate response-time measurement
- Clear success and failure messages
ReliabilityGuard validates CSV files containing:
timestamp, symbol, price, volume
The validator detects:
- Missing values
- Missing required columns
- Duplicate rows
- Negative prices
- Zero or negative volume
- Incorrect data types
- Invalid timestamps
- Stale timestamps
- Sudden abnormal price changes
The log analyzer scans .log and .txt files for:
ERRORWARNINGFAILEDTIMEOUTCONNECTION REFUSED
For every flagged log entry, the application extracts:
- Log line number
- Date and time
- Detected indicator
- Severity
- Affected component
- Original log message
ReliabilityGuard generates a downloadable incident report containing:
- Date and time
- Detected problem
- Severity
- Affected component
- Original log message
- Probable-cause suggestion
- Suggested troubleshooting action
Detected incidents can be stored in a local SQLite database.
The database functionality includes:
- Relational incident table
- Primary key
- Unique constraint
- Duplicate prevention
- Parameterized SQL inserts
- Severity filtering
- Incident statistics
- Recent-incident display
- CSV export
Pytest tests verify:
- Valid market data passes validation
- Missing columns are detected
- Duplicate records are detected
- Negative prices are detected
- Invalid volumes are detected
- Stale timestamps are detected
- Abnormal price changes are detected
| Area | Technology |
|---|---|
| Programming language | Python |
| Dashboard | Streamlit |
| Data processing | pandas |
| System monitoring | psutil |
| Networking | socket, subprocess |
| Database | SQLite |
| Testing | pytest |
| Version control | Git and GitHub |
ReliabilityGuard/
│
├── app.py
├── system_monitor.py
├── network_diagnostics.py
├── data_validator.py
├── log_analyzer.py
├── incident_report.py
├── database.py
│
├── data/
│ └── market_data.csv
│
├── logs/
│ └── sample_system.log
│
├── reports/
│ └── sample_incident_report.txt
│
├── tests/
│ └── test_data_validator.py
│
├── screenshots/
├── requirements.txt
├── README.md
└── .gitignore
Contains the Streamlit user interface and connects all project modules.
Uses psutil to collect CPU, RAM, disk, uptime and process information.
Performs DNS resolution, ping checks and TCP port-reachability tests.
Reads and validates simulated financial market data using pandas.
Scans system logs for configured warning and failure indicators.
Generates probable-cause suggestions, troubleshooting actions and text incident reports.
Creates and manages the SQLite incident-history database.
Contains automated Pytest tests for financial-data validation rules.
git clone <repository-url>
cd ReliabilityGuardWindows:
python -m venv venv
venv\Scripts\activateLinux or macOS:
python3 -m venv venv
source venv/bin/activatepython -m pip install -r requirements.txtRun:
python -m streamlit run app.pyOpen the URL displayed in the terminal, normally:
http://localhost:8501
Run:
python -m pytest -vExpected result:
7 passed
The Streamlit dashboard contains:
- Overview
- System Health
- Network Diagnostics
- Market Data Validation
- Log Analysis
- Incident History
timestamp,symbol,price,volume
2026-07-26 08:00:00,AAPL,190.50,1200
2026-07-26 08:01:00,MSFT,430.25,900The included sample CSV deliberately contains invalid records to demonstrate the validator.
Hostname: google.com
Port: 443
ReliabilityGuard performs:
- DNS resolution
- Ping test
- TCP port check
- Approximate response-time measurement
A failed ping does not necessarily mean that a website is unavailable because some servers block ping traffic while still accepting web connections.
Detected problem: CONNECTION REFUSED, ERROR
Severity: Critical
Affected component: NETWORK
Example probable-cause suggestion:
The destination service may not be running, may not be listening
on the requested port, or a firewall may be rejecting the connection.
Example troubleshooting action:
Verify the hostname and port, confirm that the destination service
is running, and inspect firewall rules.
ReliabilityGuard follows a rule-based validation approach:
- Verify the required CSV structure.
- Detect missing and duplicate records.
- Convert timestamps and numeric values safely.
- detect invalid prices and volumes.
- Compare timestamps to identify stale records.
- Compare each symbol’s price with its previous valid price.
- Record all detected problems in a structured table.
Abnormal price-change detection is a configurable data-quality rule. It does not classify a transaction as fraudulent.
The SQLite database stores:
- Incident ID
- Source log
- Log line number
- Incident timestamp
- Detected problem
- Severity
- Affected component
- Probable-cause suggestion
- Suggested troubleshooting action
- Original log message
- Database save time
A unique database constraint prevents the same incident from being stored repeatedly.
- Market data is simulated and does not use a live financial-data API.
- Ping availability depends on operating-system and firewall permissions.
- Some servers intentionally block ping requests.
- Approximate response times are diagnostic measurements, not professional network benchmarks.
- Log analysis uses configurable keyword rules rather than machine learning.
- Probable-cause suggestions are not confirmed root causes.
- System metrics represent the computer on which Streamlit is running.
- SQLite is suitable for this local project but would need to be replaced or scaled for a large distributed platform.
- Live financial-data API integration
- Email or Slack incident alerts
- Historical system-health charts
- Continuous background monitoring
- Configurable log-analysis rules
- PostgreSQL or MySQL support
- User authentication
- Docker deployment
- REST API for external monitoring tools
- Machine-learning-based anomaly detection
- Exportable PDF incident reports
- Service dependency mapping
- Incident acknowledgement and resolution status






