UbuntuOps Agent is an Ubuntu/Linux incident response toolkit that collects diagnostics, detects common failure patterns, recommends fixes, and writes structured incident reports.
It is built as a portfolio-grade Linux/SRE project: practical CLI commands, modular collectors, analyzers, sample logs, tests, and a dashboard.
- Failed
systemdservices journalctlerror patterns- Disk-full incidents
- Deleted-but-open files
- Docker container health and disk usage
- SSH brute-force patterns from
auth.log - General system load and memory pressure from
/proc
- Python
- Linux
/proc systemctljournalctldf,du,lsof- Docker CLI
- Streamlit
- unittest
ubuntuops-agent/
├── app.py
├── src/ubuntuops/
│ ├── collectors/
│ │ ├── system.py
│ │ ├── services.py
│ │ ├── disk.py
│ │ └── docker.py
│ ├── analyzers/
│ │ ├── service_doctor.py
│ │ ├── disk_doctor.py
│ │ ├── ssh_analyzer.py
│ │ └── docker_doctor.py
│ ├── agent.py
│ ├── cli.py
│ ├── report.py
│ └── models.py
├── samples/
├── tests/
└── reports/
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txtFor Windows PowerShell:
python -m venv .venv
.venv\Scripts\activate
pip install -r requirements.txtRun natural-language diagnosis:
PYTHONPATH=src python -m ubuntuops.cli diagnose --issue "ssh login attempts are high" --auth-log samples/auth.logDiagnose a service:
PYTHONPATH=src python -m ubuntuops.cli service nginxAnalyze a saved service failure log:
PYTHONPATH=src python -m ubuntuops.cli service nginx --journal-file samples/journal_nginx_failed.logRun disk RCA:
PYTHONPATH=src python -m ubuntuops.cli disk --path /Analyze SSH logs:
PYTHONPATH=src python -m ubuntuops.cli ssh --log samples/auth.logRun Docker checks:
PYTHONPATH=src python -m ubuntuops.cli dockerRun the dashboard:
streamlit run app.pyRun tests:
PYTHONPATH=src python -m unittest discover -s tests -v[HIGH] Failed SSH login attempts detected:
4 failed SSH attempts found; top source is 203.0.113.10 with 3.
Fix: Enable fail2ban, disable password auth, enforce SSH keys, and review firewall rules.

