跨平台监控管理工具ServerBee

大年初一,给各位拜年,恭祝大家龙年大吉,新春快乐~!


本文是应网友 博茨瓦纳 的要求折腾的;

什么是 ServerBee ?

ServerBee 是一款支持跨平台集监控、管理和终端的效率工具,支持 LinuxWindowsmacOS ,甚至是 Nas 系统。

软件特点:

  • CPU 负载
  • 平均负载
  • 内存使用情况
  • 正常运行、启动时间
  • 文件系统装载(和磁盘使用)
  • 磁盘 I/O 统计信息
  • 网络接口
  • 网络流量统计
  • 进程列表
  • 进程详细信息
  • 杀死进程
  • 进程所属子进程

主要特性:

  • 功能强大: CPU 核心、系统负载、 内存用量、 磁盘读写、 网卡 IO、 进程管理、SSH 终端。
  • 跨平台: 支持 WindowsLinuxmacOSNas,以及 Linux 衍生的系统。
  • 高性能: 使用高性能框架 Actix-Web 提供服务, 由 Rust 强力驱动。
  • 开源: 服务器程序完全开源,透明、公开、可定制化。

安装

在群晖上以 Docker 方式安装。

因为容器要挂载虚拟文件系统 /proc,而在群晖的 Docker 图形化界面是挂载不了的,所以只能用命令行来安装

/proc不是一个真实的文件系统,而是一个运行时内核信息的动态快照。/proc 目录下的文件和子目录提供了对系统状态和进程信息的访问接口。除了进程信息,/proc 目录也包含了其他系统级别的信息,例如 /proc/cpuinfo 提供了有关处理器的信息,/proc/meminfo 提供了有关系统内存的信息,/proc/version 提供了有关内核版本的信息等。

通过读取 /proc 中的文件和目录,系统管理员和开发人员可以动态地监视和分析系统的状态和性能,以及与正在运行的进程进行交互。

需要注意的是,/proc 文件系统中的内容是动态生成的,访问其中的文件和目录只反映了快照信息,而不是静态的存储。

现在的文档中,除了挂载 /proc 外,还需要挂载 /dev/sys/etc 等;但老苏发现在群晖上似乎并没有什么明显的区别

命令行安装

如果你熟悉命令行,可能用 docker cli 更快捷

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# 运行容器(简易版)
docker run -d \
--restart unless-stopped \
--name serverbee \
--network=host \
--privileged=true \
-v /proc:/proc \
zingerbee/serverbee-web -p 9526

# 运行容器(标准版)
docker run -d \
--restart unless-stopped \
--name serverbee \
--network=host \
--privileged=true \
-v /proc:/proc \
-v /dev:/dev \
-v /sys:/sys \
-v /etc:/etc \
-v /sys/class/net:/sys/class/net \
-v /usr/lib:/usr/lib \
zingerbee/serverbee-web -p 9526

其中 -p 9526 表示访问端口为 9526,你可以将 9526 替换为任何你想要的端口;

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

1
2
3
4
5
6
7
8
9
10
11
12
version: '3'

services:
serverbee:
image: zingerbee/serverbee-web
container_name: serverbee
restart: unless-stopped
network_mode: host
privileged: true
volumes:
- /proc:/proc
command: -p 9526

然后执行下面的命令

1
2
3
4
5
6
7
8
9
10
# 新建文件夹 serverbee 和 子目录
mkdir -p /volume1/docker/serverbee

# 进入 serverbee 目录
cd /volume1/docker/serverbee

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

运行

在浏览器中输入 http://群晖IP:9526 就能看到登录界面

第一次需要自己设个访问密码(token

在首页,可以看到系统的主要的监控信息

系统进程中也可以查看单独的系统进程

磁盘和网络的详细情况也是一目了然的

因为是采用 docker 安装的,所以终端(Terminal)是无法访问宿主机的

系统设置,可以对服务端口、密码等进行设置

浏览器地址栏中输入 http://群晖IP:9526/version 会返回软件的版本号,老苏用的是 2.3.0

移动端

当你有多台服务器需要同时监控时,移动端就派上用场了,不过看起来目前只有 iOS

App Store 中直接搜索 serverbee

运行后开始添加需要监控的服务器

默认启用了全局密码,但实际上我们之前都已经设置了自己的密码

添加成功后,很快就能看到参数

老苏又在另一台上也安装了一台监控程序,添加之后就有 2 台服务了

左滑可以编辑和删除

左上角三条杠点开了是菜单

能看到连接日志和操作日志

当然 PRO 功能是需要内购的

参考文档

ZingerLittleBee/server_bee-backend: Backend for ServerBee
地址:https://github.com/ZingerLittleBee/server_bee-backend

ServerBee
地址:https://serverbee.app/

Docker 🚀 ServerBee
地址:https://serverbee.app/zh/usage/docker/

Docker | ServerBee Document
地址:https://docs.serverbee.app/usage/docker/