refactor: separate fleet manager from local monitoring
This commit is contained in:
@@ -1,65 +1,50 @@
|
||||
# PIGWay Pi Control v3.7.0
|
||||
|
||||
独立的 Raspberry Pi / Linux 系统监控与多机 Web 管理平台。提供本机状态、告警、事件日志和多机配置管理,可按需接入独立插件。
|
||||
|
||||
## 功能
|
||||
|
||||
- CPU、温度、内存和磁盘容量/用量;主网络接口、IPv4/IPv6、Wi-Fi 信号百分比。
|
||||
- systemd 服务及进程监控;暂停监控与启停服务是不同操作。
|
||||
- Raspberry Pi 当前欠压、降频、频率受限、温度限制和根分区只读监控。
|
||||
- 当前故障统一管理;历史电源位仅记录日志,不生成当前告警。
|
||||
- 事件日志按日期、严重程度、事件类型和机器查询、排序。
|
||||
- 多机状态、机器标识、配置与独立的批量配置同步。
|
||||
- 中英文、跟随系统/深色/浅色主题。
|
||||
- 独立硬件插件发现、手动接入、暂停联动、断开、能力配置。
|
||||
极轻的 Raspberry Pi / Linux 本地监控服务:CPU、内存、温度、磁盘、网络、服务/进程、系统健康告警与 journal 日志。无 Web 界面;无需硬件插件,也无需管理中心。
|
||||
|
||||
## 安装
|
||||
|
||||
```bash
|
||||
sudo ./install.sh
|
||||
# 仅安装文件,不改变服务运行状态:
|
||||
sudo ./install.sh --no-start
|
||||
# 显式启用 API:
|
||||
sudo ./install.sh --enable-api
|
||||
# 不启用 API:
|
||||
sudo ./install.sh --disable-api
|
||||
```
|
||||
|
||||
仅需要 Python 3。插件独立安装与运行,主程序不会自动安装或启动插件。
|
||||
配置 `/etc/pigway-pi-control.conf`;Web 默认端口 6001,可配置。
|
||||
交互安装询问是否启用远程 API,默认否;非交互安装未指定时也关闭。`--no-start` 仅更新文件和配置,不改变现有服务运行状态,接口开关在下次启动生效。
|
||||
|
||||
API 写入令牌在首次安装时生成,保存为 root 可读文件;安装器会显示令牌查询方法,不直接显示令牌内容:
|
||||
配置文件:`/etc/pigway-pi-control.conf`。修改监控配置后执行:
|
||||
|
||||
```bash
|
||||
sudo systemctl restart pigway-pi-control.service
|
||||
```
|
||||
|
||||
## 可选 API
|
||||
|
||||
默认 `[api] enabled = false`,没有网络监听。需要集中管理时改为 `true`,设置 bind/port,然后:
|
||||
|
||||
```bash
|
||||
sudo systemctl enable --now pigway-pi-control-api.service
|
||||
sudo cat /etc/pigway-pi-control-api.token
|
||||
```
|
||||
|
||||
服务分别是 `pigway-pi-control.service` 和 `pigway-pi-control-api.service`。
|
||||
Web 重启不会自动启动已停止的监控。监控与硬件插件的运行状态彼此独立。
|
||||
默认端口6001。读取及写入都需要 `Authorization: Bearer <token>`。令牌只用于该设备;安装器显示查询方法,不直接显示令牌内容。关闭 API:配置改为 false,执行 `sudo systemctl disable --now pigway-pi-control-api.service`。
|
||||
|
||||
## 已接入插件与扩展
|
||||
API 提供 `/api/v1/health`、`/status`、`/logs`、`/config`、`/services`、`/plugins` 和 `/plugin/config`(均以 `/api/v1` 开头)。不提供网页、多机登记或远程转发。
|
||||
|
||||
[Yahboom 散热板插件](https://tea.pigway.com/way/pigway-cooling-hat) 是独立项目、独立安装包及 systemd 服务。
|
||||
先在目标机器安装并运行插件,再进入 Web → 系统配置 → 硬件插件 → 发现并接入。
|
||||
仅发现插件不会接管插件的设备能力。接入后发送当前监控状态,无需开放新的网络端口。
|
||||
## 独立管理中心与插件
|
||||
|
||||
运行状态卡片仅为已接入插件显示摘要。插件配置根据能力生成:只有风扇就只有风扇设置,有 OLED/RGB 才有相应控件。保存插件配置不重启监控。暂停告警联动或断开接入不会停止插件的本地功能。
|
||||
- [PIGWay Web Manager](https://tea.pigway.com/way/pigway-web-manager):可部署在 NAS 或远端,登记设备地址与令牌,统一看板、配置和批量同步。
|
||||
- [PIGWay Cooling HAT](https://tea.pigway.com/way/pigway-cooling-hat):独立本地采集、OLED、风扇与 RGB。
|
||||
|
||||
默认 Unix socket:`/run/pigway-plugins/<id>/api.sock`。协议见 [API v1](docs/HARDWARE_PLUGIN_API.md)。插件声明自身能力,Web 据此展示状态和配置。其他设备可通过独立插件实现此协议。
|
||||
|
||||
监控和插件互不依赖:插件离线不影响监控、日志和 Web;监控离线不停止插件的本地功能。通信恢复后同步最新状态,过期告警不会继续显示。
|
||||
|
||||
当前可用插件:
|
||||
|
||||
| 插件 | 独立功能 | 仓库 |
|
||||
| --- | --- | --- |
|
||||
| PIGWay Cooling HAT | 本机状态采集、OLED 展示、风扇温控、RGB 灯效 | [pigway-cooling-hat](https://tea.pigway.com/way/pigway-cooling-hat) |
|
||||
远程 API 与本地插件联动相互独立。插件启用接入后,可在 `[plugins]` 显式登记 `yahboom-cooling-hat = /run/pigway-plugins/yahboom-cooling-hat/api.sock` 并重启监控,或通过管理中心接入。发现不会自动绑定;暂停/断开联动不停止插件本地功能。
|
||||
|
||||
## 运维
|
||||
|
||||
```bash
|
||||
sudo systemctl status pigway-pi-control.service pigway-pi-control-api.service
|
||||
sudo journalctl -u pigway-pi-control.service -f
|
||||
sudo /usr/local/sbin/pigway-pi-control --diagnose
|
||||
sudo journalctl -u pigway-pi-control.service -f
|
||||
```
|
||||
|
||||
`--diagnose` 使用同一套监控配置和检查函数,仅通过只读 API 发现插件,不访问硬件总线。
|
||||
卸载监控不会停止或删除独立插件;卸载插件也不会影响监控。建议先在 Web 断开关联,避免保留离线插件条目。
|
||||
|
||||
静态检查:Python 编译、`bash -n install.sh`、`git diff --check`、`sha256sum -c SHA256SUMS`。测试工具不随安装包发布。
|
||||
日志依照系统 journal 的保留策略,不额外建库。卸载任何一个项目不会卸载另外两个项目。插件协议见 [API v1](docs/HARDWARE_PLUGIN_API.md)。
|
||||
|
||||
Reference in New Issue
Block a user