推荐一款好用的Linux Web 可视化管理工具——Cockpit

推荐一款好用的Linux Web 可视化管理工具——Cockpit

朱治龙
2024-11-22 / 0 评论 / 2 阅读 / 正在检测是否收录...

软件介绍

Cockpit是一个易于使用、集成、易于浏览和开放的基于 Web 的服务器界面。支持多种linux发行版

软件常用功能

  • 系统日志信息查看
  • 系统存储信息查看
  • 仪表盘
  • 系统配置与系统基本操作
  • Docker容器监控
  • 系统网络监控
  • Web命令行终端

软件部署

Cockpit 支持多种 Linux 发行版,各类型安装命令参见官网链接:https://cockpit-project.org/running.html。根据官网的安装说明,下面以 Ubuntu 为例进行简单讲解。
安装命令如下:

. /etc/os-release
sudo apt install -t ${VERSION_CODENAME}-backports cockpit

上面的命令执行效果如下:

zhuzl@zhuzl-M9-PRO:~$ . /etc/os-release
zhuzl@zhuzl-M9-PRO:~$ sudo apt install -t ${VERSION_CODENAME}-backports cockpit
正在读取软件包列表... 完成
正在分析软件包的依赖关系树... 完成
正在读取状态信息... 完成
将会同时安装下列软件:
  cockpit-bridge cockpit-networkmanager cockpit-packagekit cockpit-storaged cockpit-system cockpit-ws finalrd libblockdev-mdraid2 libbytesize-common libbytesize1 libpwquality-tools
  mdadm
建议安装:
  cockpit-doc cockpit-sosreport udisks2-btrfs udisks2-lvm2 sssd-dbus dracut-core
下列【新】软件包将被安装:
  cockpit cockpit-bridge cockpit-networkmanager cockpit-packagekit cockpit-storaged cockpit-system cockpit-ws finalrd libblockdev-mdraid2 libbytesize-common libbytesize1
  libpwquality-tools mdadm
升级了 0 个软件包,新安装了 13 个软件包,要卸载 0 个软件包,有 122 个软件包未被升级。
需要下载 7,490 kB 的归档。
解压缩后会消耗 10.4 MB 的额外空间。
您希望继续执行吗? [Y/n] y
获取:1 http://cn.archive.ubuntu.com/ubuntu jammy-backports/universe amd64 cockpit-bridge amd64 324-1~bpo22.04.1 [393 kB]
获取:2 http://cn.archive.ubuntu.com/ubuntu jammy-backports/universe amd64 cockpit-ws amd64 324-1~bpo22.04.1 [882 kB]
获取:3 http://mirrors.tuna.tsinghua.edu.cn/ubuntu jammy/universe amd64 libpwquality-tools amd64 1.4.4-1build2 [9,752 B]
获取:4 http://cn.archive.ubuntu.com/ubuntu jammy-backports/universe amd64 cockpit-system all 324-1~bpo22.04.1 [3,204 kB]
获取:5 http://cn.archive.ubuntu.com/ubuntu jammy-backports/universe amd64 cockpit all 324-1~bpo22.04.1 [20.1 kB]
获取:6 http://cn.archive.ubuntu.com/ubuntu jammy-backports/universe amd64 cockpit-networkmanager all 324-1~bpo22.04.1 [846 kB]
获取:7 http://cn.archive.ubuntu.com/ubuntu jammy-backports/universe amd64 cockpit-packagekit all 324-1~bpo22.04.1 [844 kB]
获取:8 http://mirrors.tuna.tsinghua.edu.cn/ubuntu jammy/universe amd64 libbytesize-common all 2.6-1 [7,454 B]
获取:9 http://mirrors.tuna.tsinghua.edu.cn/ubuntu jammy/universe amd64 libbytesize1 amd64 2.6-1 [12.1 kB]
获取:10 http://mirrors.tuna.tsinghua.edu.cn/ubuntu jammy-updates/main amd64 mdadm amd64 4.2-0ubuntu2 [464 kB]
获取:11 http://mirrors.tuna.tsinghua.edu.cn/ubuntu jammy/universe amd64 libblockdev-mdraid2 amd64 2.26-1 [11.8 kB]
获取:12 http://cn.archive.ubuntu.com/ubuntu jammy-backports/universe amd64 cockpit-storaged all 324-1~bpo22.04.1 [789 kB]
获取:13 http://mirrors.tuna.tsinghua.edu.cn/ubuntu jammy/main amd64 finalrd all 9build1 [7,306 B]
已下载 7,490 kB,耗时 13秒 (577 kB/s)
正在预设定软件包 ...
正在选中未选择的软件包 cockpit-bridge。
(正在读取数据库 ... 系统当前共安装有 262830 个文件和目录。)
准备解压 .../00-cockpit-bridge_324-1~bpo22.04.1_amd64.deb  ...
正在解压 cockpit-bridge (324-1~bpo22.04.1) ...
正在选中未选择的软件包 cockpit-ws。
准备解压 .../01-cockpit-ws_324-1~bpo22.04.1_amd64.deb  ...
正在解压 cockpit-ws (324-1~bpo22.04.1) ...
正在选中未选择的软件包 libpwquality-tools。
准备解压 .../02-libpwquality-tools_1.4.4-1build2_amd64.deb  ...
正在解压 libpwquality-tools (1.4.4-1build2) ...
正在选中未选择的软件包 cockpit-system。
准备解压 .../03-cockpit-system_324-1~bpo22.04.1_all.deb  ...
正在解压 cockpit-system (324-1~bpo22.04.1) ...
正在选中未选择的软件包 cockpit。
准备解压 .../04-cockpit_324-1~bpo22.04.1_all.deb  ...
正在解压 cockpit (324-1~bpo22.04.1) ...
正在选中未选择的软件包 cockpit-networkmanager。
准备解压 .../05-cockpit-networkmanager_324-1~bpo22.04.1_all.deb  ...
正在解压 cockpit-networkmanager (324-1~bpo22.04.1) ...
正在选中未选择的软件包 cockpit-packagekit。
准备解压 .../06-cockpit-packagekit_324-1~bpo22.04.1_all.deb  ...
正在解压 cockpit-packagekit (324-1~bpo22.04.1) ...
正在选中未选择的软件包 libbytesize-common。
准备解压 .../07-libbytesize-common_2.6-1_all.deb  ...
正在解压 libbytesize-common (2.6-1) ...
正在选中未选择的软件包 libbytesize1:amd64。
准备解压 .../08-libbytesize1_2.6-1_amd64.deb  ...
正在解压 libbytesize1:amd64 (2.6-1) ...
正在选中未选择的软件包 mdadm。
准备解压 .../09-mdadm_4.2-0ubuntu2_amd64.deb  ...
正在解压 mdadm (4.2-0ubuntu2) ...
正在选中未选择的软件包 libblockdev-mdraid2:amd64。
准备解压 .../10-libblockdev-mdraid2_2.26-1_amd64.deb  ...
正在解压 libblockdev-mdraid2:amd64 (2.26-1) ...
正在选中未选择的软件包 cockpit-storaged。
准备解压 .../11-cockpit-storaged_324-1~bpo22.04.1_all.deb  ...
正在解压 cockpit-storaged (324-1~bpo22.04.1) ...
正在选中未选择的软件包 finalrd。
准备解压 .../12-finalrd_9build1_all.deb  ...
正在解压 finalrd (9build1) ...
正在设置 libpwquality-tools (1.4.4-1build2) ...
正在设置 finalrd (9build1) ...
Created symlink /etc/systemd/system/sysinit.target.wants/finalrd.service → /lib/systemd/system/finalrd.service.
正在设置 libbytesize-common (2.6-1) ...
正在设置 cockpit-bridge (324-1~bpo22.04.1) ...
正在设置 libbytesize1:amd64 (2.6-1) ...
正在设置 cockpit-ws (324-1~bpo22.04.1) ...
Creating group cockpit-wsinstance with gid 998.
Creating user cockpit-wsinstance (User for cockpit-ws instances) with uid 998 and gid 998.
Created symlink /etc/systemd/system/sockets.target.wants/cockpit.socket → /lib/systemd/system/cockpit.socket.
正在设置 mdadm (4.2-0ubuntu2) ...
Generating mdadm.conf... done.
update-initramfs: deferring update (trigger activated)
Sourcing file `/etc/default/grub'
Sourcing file `/etc/default/grub.d/init-select.cfg'
Generating grub configuration file ...
File descriptor 3 (pipe:[363435355]) leaked on vgs invocation. Parent PID 1007874: grub-probe
File descriptor 3 (pipe:[363435355]) leaked on vgs invocation. Parent PID 1007874: grub-probe
File descriptor 3 (pipe:[363435355]) leaked on vgs invocation. Parent PID 1007902: /usr/sbin/grub-probe
File descriptor 3 (pipe:[363435355]) leaked on vgs invocation. Parent PID 1007902: /usr/sbin/grub-probe
File descriptor 3 (pipe:[363435355]) leaked on vgs invocation. Parent PID 1007914: /usr/sbin/grub-probe
File descriptor 3 (pipe:[363435355]) leaked on vgs invocation. Parent PID 1007914: /usr/sbin/grub-probe
File descriptor 3 (pipe:[363435355]) leaked on vgs invocation. Parent PID 1007924: /usr/sbin/grub-probe
File descriptor 3 (pipe:[363435355]) leaked on vgs invocation. Parent PID 1007924: /usr/sbin/grub-probe
File descriptor 3 (pipe:[363435355]) leaked on vgs invocation. Parent PID 1007934: /usr/sbin/grub-probe
File descriptor 3 (pipe:[363435355]) leaked on vgs invocation. Parent PID 1007934: /usr/sbin/grub-probe
File descriptor 3 (pipe:[363435355]) leaked on vgs invocation. Parent PID 1007944: /usr/sbin/grub-probe
File descriptor 3 (pipe:[363435355]) leaked on vgs invocation. Parent PID 1007944: /usr/sbin/grub-probe
File descriptor 3 (pipe:[363435355]) leaked on vgs invocation. Parent PID 1008001: /usr/sbin/grub-probe
File descriptor 3 (pipe:[363435355]) leaked on vgs invocation. Parent PID 1008001: /usr/sbin/grub-probe
Found linux image: /boot/vmlinuz-6.8.0-49-generic
Found initrd image: /boot/initrd.img-6.8.0-49-generic
File descriptor 3 (pipe:[363435355]) leaked on vgs invocation. Parent PID 1008083: /usr/sbin/grub-probe
File descriptor 3 (pipe:[363435355]) leaked on vgs invocation. Parent PID 1008083: /usr/sbin/grub-probe
File descriptor 3 (pipe:[363435355]) leaked on vgs invocation. Parent PID 1008094: /usr/sbin/grub-probe
File descriptor 3 (pipe:[363435355]) leaked on vgs invocation. Parent PID 1008094: /usr/sbin/grub-probe
File descriptor 3 (pipe:[363435355]) leaked on vgs invocation. Parent PID 1008104: /usr/sbin/grub-probe
File descriptor 3 (pipe:[363435355]) leaked on vgs invocation. Parent PID 1008104: /usr/sbin/grub-probe
File descriptor 3 (pipe:[363435355]) leaked on vgs invocation. Parent PID 1008114: /usr/sbin/grub-probe
File descriptor 3 (pipe:[363435355]) leaked on vgs invocation. Parent PID 1008114: /usr/sbin/grub-probe
Found linux image: /boot/vmlinuz-6.8.0-40-generic
Found initrd image: /boot/initrd.img-6.8.0-40-generic
File descriptor 3 (pipe:[363435355]) leaked on vgs invocation. Parent PID 1008391: /usr/sbin/grub-probe
File descriptor 3 (pipe:[363435355]) leaked on vgs invocation. Parent PID 1008391: /usr/sbin/grub-probe
Memtest86+ needs a 16-bit boot, that is not available on EFI, exiting
Warning: os-prober will not be executed to detect other bootable partitions.
Systems on them will not be added to the GRUB boot configuration.
Check GRUB_DISABLE_OS_PROBER documentation entry.
Adding boot menu entry for UEFI Firmware Settings ...
done
Created symlink /etc/systemd/system/mdmonitor.service.wants/mdcheck_continue.timer → /lib/systemd/system/mdcheck_continue.timer.
Created symlink /etc/systemd/system/mdmonitor.service.wants/mdcheck_start.timer → /lib/systemd/system/mdcheck_start.timer.
Created symlink /etc/systemd/system/mdmonitor.service.wants/mdmonitor-oneshot.timer → /lib/systemd/system/mdmonitor-oneshot.timer.
正在设置 cockpit-system (324-1~bpo22.04.1) ...
正在设置 cockpit-networkmanager (324-1~bpo22.04.1) ...
正在设置 libblockdev-mdraid2:amd64 (2.26-1) ...
正在设置 cockpit-packagekit (324-1~bpo22.04.1) ...
正在设置 cockpit-storaged (324-1~bpo22.04.1) ...
正在设置 cockpit (324-1~bpo22.04.1) ...
正在处理用于 man-db (2.10.2-1) 的触发器 ...
正在处理用于 libc-bin (2.35-0ubuntu3.8) 的触发器 ...
正在处理用于 initramfs-tools (0.140ubuntu13.4) 的触发器 ...
update-initramfs: Generating /boot/initrd.img-6.8.0-49-generic
I: The initramfs will attempt to resume from /dev/dm-1
I: (/dev/mapper/vgubuntu-swap_1)
I: Set the RESUME variable to override this.

安装后通过端口检测服务是否正确:

zhuzl@zhuzl-M9-PRO:~$ sudo lsof -i:9090
COMMAND PID USER   FD   TYPE    DEVICE SIZE/OFF NODE NAME
systemd   1 root  164u  IPv6 363430477      0t0  TCP *:9090 (LISTEN)
zhuzl@zhuzl-M9-PRO:~$

从上面的命令结果可知,Cockpit 已成功安装并监听 9090 端口。此时我们可以在服务器的防火墙放行 9090 端口后直接通过9090端口访问,由于是web服务,我们也可以使用Nginx 代理对外提供服务,根据个人喜好来就好。

初体验

登录页

Cockpit 登录页
从登录页我们可以看到,登录窗都做到了自动国际化,还是不错的。

使用 Linux 系统的账号登录,显示如下失败页面:
m3sgocx9.png
根据界面的报错提示,执行sudo journalctl -u cockpit命令查看日志,内容如下:

zhuzl@zhuzl-M9-PRO:~$ sudo journalctl -u cockpit
[sudo] zhuzl 的密码:
11月 22 16:07:20 zhuzl-M9-PRO systemd[1]: Starting Cockpit Web Service...
11月 22 16:07:20 zhuzl-M9-PRO cockpit-certificate-ensure[1048208]: /usr/lib/cockpit/cockpit-certificate-helper: line 25: sscg: command not found
11月 22 16:07:20 zhuzl-M9-PRO cockpit-certificate-ensure[1048209]: .+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*.......+......+....+++++++++++++++++++++++++++++>
11月 22 16:07:20 zhuzl-M9-PRO cockpit-certificate-ensure[1048209]: .....+............+.............+..+....+...+.....+.+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>
11月 22 16:07:20 zhuzl-M9-PRO cockpit-certificate-ensure[1048209]: -----
11月 22 16:07:20 zhuzl-M9-PRO systemd[1]: Started Cockpit Web Service.
11月 22 16:10:02 zhuzl-M9-PRO systemd[1]: cockpit.service: Deactivated successfully.

根据提示是找不到sscg命令,我们安装一下

sudo apt install sscg

该命令执行情况如下:

zhuzl@zhuzl-M9-PRO:/home/zhuzl# sudo apt install sscg
正在读取软件包列表... 完成
正在分析软件包的依赖关系树... 完成
正在读取状态信息... 完成
将会同时安装下列软件:
  libpath-utils1 powertop
建议安装:
  cpufrequtils laptop-mode-tools
下列【新】软件包将被安装:
  libpath-utils1 powertop sscg
升级了 0 个软件包,新安装了 3 个软件包,要卸载 0 个软件包,有 88 个软件包未被升级。
需要下载 225 kB 的归档。
解压缩后会消耗 705 kB 的额外空间。
您希望继续执行吗? [Y/n] y
获取:1 http://mirrors.tuna.tsinghua.edu.cn/ubuntu jammy/main amd64 libpath-utils1 amd64 0.6.2-1 [9,254 B]
获取:2 http://mirrors.tuna.tsinghua.edu.cn/ubuntu jammy/universe amd64 sscg amd64 3.0.2-1 [23.9 kB]
获取:3 http://mirrors.tuna.tsinghua.edu.cn/ubuntu jammy/main amd64 powertop amd64 2.14-1build1 [191 kB]
已下载 225 kB,耗时 57秒 (3,917 B/s)
正在选中未选择的软件包 libpath-utils1:amd64。
(正在读取数据库 ... 系统当前共安装有 263679 个文件和目录。)
准备解压 .../libpath-utils1_0.6.2-1_amd64.deb  ...
正在解压 libpath-utils1:amd64 (0.6.2-1) ...
正在选中未选择的软件包 sscg。
准备解压 .../sscg_3.0.2-1_amd64.deb  ...
正在解压 sscg (3.0.2-1) ...
正在选中未选择的软件包 powertop。
准备解压 .../powertop_2.14-1build1_amd64.deb  ...
正在解压 powertop (2.14-1build1) ...
正在设置 libpath-utils1:amd64 (0.6.2-1) ...
正在设置 powertop (2.14-1build1) ...
正在设置 sscg (3.0.2-1) ...
正在处理用于 man-db (2.10.2-1) 的触发器 ...
正在处理用于 libc-bin (2.35-0ubuntu3.8) 的触发器 ...
zhuzl@zhuzl-M9-PRO:/home/zhuzl#

主界面

Cockpit 主界面

版本信息

Cockpit 版本信息

概览-指标和历史数据

m3si55kg.png

概览-硬件详细信息

m3si68f3.png

日志

m3si7c6f.png

存储

m3si7xkb.png

网络

m3si8i3c.png

用户账户

m3si8vbk.png

服务

m3si9hhz.png

终端

m3siebhb.png

0

评论 (0)

取消