Nasir-ux1/ubuntuops-agent
GitHub: Nasir-ux1/ubuntuops-agent
UbuntuOps Agent 是一款用于Linux系统事件响应和故障诊断的工具。
Stars: 1 | Forks: 0
# UbuntuOps 代理
[](https://github.com/Nasir-ux1/ubuntuops-agent/actions/workflows/ci.yml)
[](https://github.com/Nasir-ux1/ubuntuops-agent/releases/tag/v0.1.0)
[](pyproject.toml)
UbuntuOps Agent 是一款 Ubuntu/Linux 事件响应工具包,用于收集诊断信息、检测常见故障模式、推荐修复方案,并生成结构化的事件报告。
它被构建为一个高端 Linux/SRE 项目:实用的 CLI 命令、模块化收集器、分析器、示例日志、测试和仪表板。
## 演示


## 诊断内容
- 失败的 `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, 仪表盘, 偏差过滤, 安全防御评估, 故障诊断, 无后门, 模块化设计, 测试, 系统工具, 系统资源, 自动化修复, 请求拦截, 逆向工具