Komari CPU / RAM / Disk 负载通知规则自动管理工具
自动分组 · 动态同步 · 独立人工排除/恢复 · 多 Linux 发行版支持
- 🔍 自动识别 Komari 主控 systemd 服务
- 📂 自动识别 Komari 程序、数据库和监听端口
- 🔑 API Key 交互式录入,仅保存在本机
- ⚙️ 自动创建 CPU / RAM / Disk 共 5 条基础负载规则
- ➕ 新 VPS 自动加入监控
- ➖ 删除 VPS 自动清理
- 🏷️ VPS 改名不影响规则关联
- 🧠 RAM / Disk 扩容后自动重新分组
- 🎛️ CPU / RAM / Disk 可分别人工关闭
- 💾 自动记忆人工关闭状态,不会被下一次同步重新添加
- ♻️ 后台重新勾选后自动恢复对应监控项
- ⏱️ systemd Timer 每 10 分钟自动同步
- 🆕 支持 0 VPS 状态安装,后续新增节点自动接管
| 监控项 | VPS 条件 | 阈值 | 时间占比 | 通知间隔 |
|---|---|---|---|---|
| CPU | 全部 VPS | 90% | 0.8 | 10 分钟 |
| RAM | ≥ 1.5 GB | 90% | 0.8 | 10 分钟 |
| RAM | < 1.5 GB | 95% | 0.8 | 10 分钟 |
| Disk | ≥ 20 GB | 90% | 0.9 | 60 分钟 |
| Disk | < 20 GB | 85% | 0.9 | 60 分钟 |
脚本会根据 VPS 的实际内存和磁盘容量自动选择对应规则。
当前版本要求 Komari 主控以 systemd service 方式运行。
已适配以下包管理器:
| Linux 发行版 | 包管理器 |
|---|---|
| Debian / Ubuntu / Debian 系 | apt |
| Rocky Linux / AlmaLinux / Fedora / CentOS Stream | dnf |
| 旧 CentOS / RHEL 系 | yum |
| Arch Linux | pacman |
| openSUSE | zypper |
Note
Alpine / OpenRC 当前暂不支持。
安装前请确认:
- Komari 主控已经正常运行
- 使用
root用户执行安装 - 已在 Komari 后台生成 API Key
Caution
API Key 拥有较高的 Komari 管理权限,请勿提交至 GitHub 或公开分享。
使用 root 用户执行:
bash <(curl -fsSL https://raw.githubusercontent.com/TonyStarkJr2021/komari-auto-load-rules/main/install.sh)安装器会自动完成:
检测 Linux 发行版
↓
检测包管理器及依赖
↓
识别 Komari systemd 服务
↓
识别 Komari 程序与数据库
↓
自动识别 Komari 监听端口
↓
验证 / 保存 API Key
↓
初始化 5 条基础负载规则
↓
安装自动同步程序
↓
创建 systemd Timer
↓
首次同步
即使 Komari 当前 没有任何 VPS 节点,安装也可以正常完成。
后续添加 VPS 后,定时同步程序会自动识别并加入对应的负载通知规则。
bash <(curl -fsSL https://raw.githubusercontent.com/TonyStarkJr2021/komari-auto-load-rules/main/update.sh)更新核心同步程序时不会清除:
- API Key
- 人工排除状态
- Komari 数据
- 已有 VPS 配置
bash <(curl -fsSL https://raw.githubusercontent.com/TonyStarkJr2021/komari-auto-load-rules/main/uninstall.sh)默认不会删除 Komari 本身,也不会主动删除 Komari 后台已有的负载规则。
无需等待 systemd Timer,可以立即执行一次同步:
/usr/local/bin/komari-auto-load-rules.pysystemctl status komari-auto-load-rules.timer默认同步周期:
每 10 分钟
journalctl -u komari-auto-load-rules.service -n 100 --no-pager本项目支持对单台 VPS 的:
CPU / RAM / Disk 分别进行人工关闭和恢复。
例如不希望某台 VPS 接收 RAM 高负载通知:
- 打开 Komari 后台
- 找到对应 RAM 负载规则
- 取消该 VPS
- 保存规则
脚本下一次同步时会识别该变化,并记录为:
人工排除:RAM
以后自动同步不会重新把该 VPS 加回 RAM 规则。
CPU 和 Disk 仍然可以继续正常监控。
如果以后希望恢复 RAM 监控:
- 在对应 RAM 规则中重新勾选该 VPS
- 保存规则
- 等待下一次自动同步
脚本会识别为人工恢复,并根据 VPS 当前 RAM 容量自动放入正确的 RAM 分组。
CPU、RAM、Disk 三项状态相互独立。
RAM ≥ 1.5 GB
│
├── 是 → RAM 常规组(90%)
│
└── 否 → RAM 小内存组(95%)
Disk ≥ 20 GB
│
├── 是 → Disk 常规组(90%)
│
└── 否 → Disk 小磁盘组(85%)
如果 VPS 后续扩容 RAM 或 Disk,脚本会自动重新判断并迁移到正确的规则组。
安装后主要文件位置:
/root/.config/komari/api_key
/etc/komari-auto-load-rules.conf
/usr/local/bin/komari-auto-load-rules.py
/var/lib/komari-auto-load-rules/state.json
其中:
| 文件 | 用途 |
|---|---|
api_key |
保存 Komari API Key |
komari-auto-load-rules.conf |
本项目运行配置 |
komari-auto-load-rules.py |
核心同步程序 |
state.json |
保存人工排除/恢复状态 |
Important
如果迁移 Komari Auto Load Rules 并希望保留人工排除状态,请备份 state.json。
本项目不会主动上传:
- Komari API Key
- Komari 数据库
- VPS IP
- Agent Token
Komari 管理 API 默认通过主控服务器本机回环地址访问:
127.0.0.1
API Key 仅保存在主控服务器本地。
komari-auto-load-rules/
├── src/
│ └── komari-auto-load-rules.py
├── install.sh
├── update.sh
├── uninstall.sh
├── README.md
├── LICENSE
└── .gitignore
本项目采用 MIT License。
Komari Auto Load Rules
让 Komari VPS 负载通知规则自动维护。