Nasir-ux1/ubuntuops-agent

GitHub: Nasir-ux1/ubuntuops-agent

UbuntuOps Agent 是一款用于Linux系统事件响应和故障诊断的工具。

Stars: 1 | Forks: 0

# UbuntuOps 代理 [![CI](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/3a3f80e38a174227.svg)](https://github.com/Nasir-ux1/ubuntuops-agent/actions/workflows/ci.yml) [![发布](https://img.shields.io/github/v/release/Nasir-ux1/ubuntuops-agent?include_prereleases&label=release)](https://github.com/Nasir-ux1/ubuntuops-agent/releases/tag/v0.1.0) [![Python](https://img.shields.io/badge/python-3.10%2B-blue)](pyproject.toml) UbuntuOps Agent 是一款 Ubuntu/Linux 事件响应工具包,用于收集诊断信息、检测常见故障模式、推荐修复方案,并生成结构化的事件报告。 它被构建为一个高端 Linux/SRE 项目:实用的 CLI 命令、模块化收集器、分析器、示例日志、测试和仪表板。 ## 演示 ![UbuntuOps CLI 截图](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/5b42643302174229.png) ![UbuntuOps 动画演示](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/2d7261ae20174231.gif) ## 诊断内容 - 失败的 `systemd` 服务 - `journalctl` 错误模式 - 磁盘满事件 - 已删除但打开的文件 - Docker 容器健康和磁盘使用情况 - 来自 `auth.log` 的 SSH 暴力破解模式 - 来自 `/proc` 的系统负载和内存压力 ## 技术栈 - Python - Linux `/proc` - `systemctl` - `journalctl` - `df`, `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.txt ``` 对于 Windows PowerShell: ``` python -m venv .venv .venv\Scripts\activate pip install -r requirements.txt ``` ## CLI 示例 运行自然语言诊断: ``` PYTHONPATH=src python -m ubuntuops.cli diagnose --issue "ssh login attempts are high" --auth-log samples/auth.log ``` 诊断服务: ``` PYTHONPATH=src python -m ubuntuops.cli service nginx ``` 分析已保存的服务故障日志: ``` PYTHONPATH=src python -m ubuntuops.cli service nginx --journal-file samples/journal_nginx_failed.log ``` 运行磁盘 RCA: ``` PYTHONPATH=src python -m ubuntuops.cli disk --path / ``` 分析 SSH 日志: ``` PYTHONPATH=src python -m ubuntuops.cli ssh --log samples/auth.log ``` 运行 Docker 检查: ``` PYTHONPATH=src python -m ubuntuops.cli docker ``` 运行仪表板: ``` streamlit run app.py ``` 运行测试: ``` 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. ```
标签:Docker, Kubernetes, Linux运维, Python, SRE, SSH, 仪表盘, 偏差过滤, 安全防御评估, 故障诊断, 无后门, 模块化设计, 测试, 系统工具, 系统资源, 自动化修复, 请求拦截, 逆向工具