ArthurMTX/sreye

GitHub: ArthurMTX/sreye

一个集主机性能监控、漏洞扫描、智能告警与 RBAC 权限管理于一体的 DevSecOps 基础设施监控平台。

Stars: 0 | Forks: 0

# SREye **现代基础设施监控与安全洞察 —— 尽在一个简洁的面板中。** SREye 是一个可用于生产环境的主机监控平台,结合了: - 📊 高级系统指标 - 🔐 漏洞扫描 - 🚨 智能告警 - 👥 RBAC 与审计日志 - 🖥️ 现代 SaaS UI - ⚙️ 支持 systemd 的强化版 agent 旨在展示真实的 DevOps、SRE 以及后端/前端工程实践。 ## 为什么选择 SREye? - **即时可见性** – 随时了解哪些机器处于健康、过载或离线状态 - **安全感知** – 持续的漏洞扫描与评分 - **生产级思维** – daemon agent、重试机制、状态持久化、systemd - **SaaS 体验** – 身份验证、角色、审计日志、告警、暗黑模式 - **整洁扩展** – 分组、标签、指标注册表、降采样、评分 ## 演示(本地) | 服务 | URL | |--------|------| | Frontend | http://localhost:5173 | | API 文档 | http://localhost:8000/docs | | 健康检查 | http://localhost:8000/healthz | ## 核心功能 ### 监控与可观测性 (Phase 1 + Phase 6) #### 基础指标 - CPU、内存、磁盘使用率 - 在线 / 离线检测 - 历史时间序列图表 - 基于阈值的风险指标 #### 高级指标(可观测性级别) - CPU:每核心使用率、负载平均、iowait - 内存:已用、缓存、buffers、swap - 磁盘:IOPS、吞吐量、延迟 - 网络:每个接口的流量、错误、丢包 - 进程:数量及占用 CPU/内存最高的进程 - systemd 服务状态 - Docker 容器(可选) #### 指标平台 - 指标定义注册表 - agent 与后端之间的能力握手 - JSONB 标记指标 - 服务端降采样 - 预聚合汇总 - 指标探索器(搜索 + 叠加图表) ### 健康评分 - 全局机器评分(0–100) - 分类评分(CPU、内存、磁盘、网络、安全等) - 基于告警的惩罚机制 - 可配置的阈值 - 可解释的细分(UI 抽屉) - 分组级别的聚合评分 ### 安全 - Trivy 漏洞扫描(HIGH + CRITICAL) - OS + 依赖检测 - 可用修复检测 - 修复提示 - 历史扫描追踪 - 集成到健康模型中的安全评分 ### 告警与事件管理 - 基于规则的告警引擎 - 运算符:> >= < <= == != - 严重程度:info / warning / critical - 冷静期 + 自动解决 - 电子邮件、Slack、Discord 与 Webhooks - 完全的 RBAC 强制执行 ### 身份验证与 RBAC - JWT + refresh cookie 轮换 - 角色:Viewer / Operator / Admin / Owner - 所有敏感操作的审计日志 ### 分组与组织 - 层级分组(PRTG 风格) - 机器隶属关系 - 分组健康概览 - 分组指标与评分 - 分组活动与审计追踪 - 基于标签的规则作用域 ### Agent(生产级) - CLI 或 daemon 模式 - 持久化的本地状态 - 指数退避 - 抖动间隔 - systemd 服务 - 强化的安装程序 - 高级采集器插件系统 ## 架构 ``` Agent (Python) ──► Backend (FastAPI + PostgreSQL) ──► Frontend (React) Metrics + scans REST API + Auth SaaS UI ``` ## 快速开始(开发) ### 1. 启动后端 + 前端 ``` cd infra docker-compose up -d ``` 默认管理员用户: - 邮箱:admin@example.com - 密码:admin123 通过 `infra/.env` 覆盖: ``` SREYE_DEFAULT_ADMIN_EMAIL=you@example.com SREYE_DEFAULT_ADMIN_PASSWORD=strong-password ``` ### 2. 启动 agent(daemon 模式) ``` cd agent python3 -m venv venv source venv/bin/activate pip install -r requirements.txt export SREYE_API_URL=http://localhost:8000 export SREYE_INGEST_TOKEN=your-secret-token python -m sreye_agent daemon ``` 启用高级指标: ``` export SREYE_USE_ADVANCED_METRICS=true ``` ### 3. 打开 UI http://localhost:5173 ## 生产环境安装(systemd) ### 快速安装 ``` cd agent/packaging sudo ./install.sh --api-url http://your-sreye-server:8000 --token your-secret-token ``` 或者: ``` export SREYE_API_URL=http://your-sreye-server:8000 export SREYE_INGEST_TOKEN=your-secret-token sudo -E ./install.sh ``` ### 安装程序的作用 1. 创建系统用户 `sreye` 2. 将 agent 安装到 `/opt/sreye-agent` 3. 创建 `/etc/sreye/sreye.env` 4. 安装 systemd 服务 5. 启用并启动服务 ### 安装后 ``` sudo systemctl status sreye-agent sudo journalctl -u sreye-agent -f sudo systemctl restart sreye-agent ``` ### 配置 编辑: ``` sudo nano /etc/sreye/sreye.env ``` 示例: ``` SREYE_API_URL=http://your-sreye-server:8000 SREYE_INGEST_TOKEN=your-secret-token SREYE_METRICS_INTERVAL_SECONDS=30 SREYE_SECURITY_INTERVAL_HOURS=24 SREYE_LOG_LEVEL=INFO ``` 应用: ``` sudo systemctl restart sreye-agent ``` ### 升级 ``` cd agent/packaging sudo ./install.sh --upgrade ``` ### 强制重新安装 ``` cd agent/packaging sudo ./install.sh --force --api-url http://your-sreye-server:8000 --token your-secret-token ``` ## 项目结构 ``` sreye/ agent/ backend/ frontend/ infra/ docs/ ``` ## 路线图 - 多租户组织 - Kubernetes 支持 - 容器镜像扫描 - 容量规划 - 预测 - SLA 追踪 - 事件时间线 - 自定义采集器插件 ## 安全模型 - JWT access + refresh cookies - Token 轮换 - agent 摄入 token - 密钥脱敏 - systemd 沙盒化 ## 许可证 MIT License
标签:DevSecOps, SaaS平台, 上游代理, 主机监控, 告警系统, 测试用例, 请求拦截, 逆向工具