我如何使用 Cockpit 管理我家的 Linux 服务器
任何人(从家庭用户到大型网络管理员)都可以使用 Cockpit 访问企业级服务器管理。
Cockpit 是一项 Linux 服务,提供基于 Web 的界面来管理和监控主机。 它可以部署在任何规模的组织中,甚至是小型办公室,并且是家庭用户维护家庭 IT 基础设施的好方法。我用它来管理和监控家里的所有计算机,包括 Raspberry Pi。
Cockpit 是一个在 LGPL v2.1+ 下发布的免费开源软件项目。它由红帽赞助并作为 RHEL Web 控制台包含在红帽企业 Linux 中。
使用驾驶舱
Cockpit 允许您远程管理网络上的 Linux 设备。您可以添加或删除用户、连接网络文件系统 (NFS) 共享以及启动和停止服务。我最喜欢的简单 Cockpit 任务之一就是进行更新。我不再需要在办公室或家里走来走去收集每台设备来登录、更新、重新启动和等待。企业管理员不需要进入数据中心;相反,他们可以在舒适的办公室里管理设备。
但这还不是全部。 Cockpit 的高级功能包括管理 LDAP 服务器、虚拟机和存储。您还可以使用它来安装 Docker 或 Podman 容器。
在监控方面,Cockpit 提供了预期 CPU、内存和磁盘空间指标的可见性。但它还公开了制造商、BIOS 和 CPU 品牌等信息,并详细介绍了北桥和南桥芯片以及各种控制器等硬件元素。它列出了图形、存储和网络通信设备以及内存控制器和内存类型。 Cockpit 还可用于查看日志。
安装驾驶舱
Cockpit 包含在大多数主要发行版中。该网站提供了在 Red Hat、Fedora、Ubuntu、Debian、Arch 和其他几个操作系统上安装的文档。您可以使用 Linux 发行版上的标准包管理命令来安装它。您通常还可以在图形实用程序(例如 GNOME 软件中心)中找到它,以进行一键式处理。
- Fedora:
dnf 安装驾驶舱
- Ubuntu:
apt install cockpit
访问和登录
默认监听端口为 9090。要访问服务器上的 Cockpit 界面,只需将浏览器指向 主机名:9090
。您可以使用 localhost:9090
作为您登录的本地服务器。使用普通帐户登录,因为该帐户拥有 root 权限会更有利。
(艾伦·福米·杜瓦尔,CC BY-SA 4.0)
要远程访问其他服务器,您可以使用它们的主机名,例如 https://hostname:9090
。但是,您可以指定一台主机作为管理服务器,并将所有服务器添加到仪表板以获得统一视图。
登录后,您看到的第一个屏幕是仪表板;另一个选项是主机视图。
仪表板视图
仪表板视图干净整洁。下图显示了系统所有连接服务器的性能监视器。它以图形方式显示 CPU、内存、网络和磁盘 I/O。如果这是您第一次运行并且尚未连接任何服务器,您将仅看到本地系统的图表。
(艾伦·福米·杜瓦尔,CC BY-SA 4.0)
单击蓝色加号 (+) 按钮添加服务器。
(艾伦·福米·杜瓦尔,CC BY-SA 4.0)
添加服务器后,向下滚动以查看完整列表。我已经设置了一些系统。
(艾伦·福米·杜瓦尔,CC BY-SA 4.0)
主机视图
主机视图是所有乐趣的开始。此部分显示并提供对添加到仪表板的每个服务器的访问。这里主要感兴趣的区域是左侧的列,其中包括概述、日志、存储、网络、以及其他一些项目,终端位于底部。单击每个项目使您可以管理系统的这些部分。本节中的项目可能会有所不同,具体取决于可能安装的其他功能。
概述
当您选择服务器时,主机屏幕将打开概述部分,其中包含特定主机系统的控件。概述屏幕分为运行状况、使用情况、配置和系统信息象限。
(艾伦·福米·杜瓦尔,CC BY-SA 4.0)
使用情况链接到详细的性能图表视图,系统信息链接到硬件详细信息。一些管理控件可直接在此屏幕上使用。例如,您可以更改系统主机名或将服务器加入企业域。
贮存
在这张存储部分的图片中,顶部有一个读/写活动图,下面是本地文件系统列表。再往下,您可以添加 NFS 挂载或查看日志。您甚至可以创建 RAID 设备和卷组。
(艾伦·福米·杜瓦尔,CC BY-SA 4.0)
联网
网络部分允许您管理防火墙和网络接口。您可以编辑防火墙规则和区域,并通过绑定、分组、网桥和 VLAN 操作网络。
(艾伦·福米·杜瓦尔,CC BY-SA 4.0)
软件更新
能够远程在服务器上应用更新非常方便。即使一个家庭也可能有五台或十台电脑。但是,在数英里之外干燥、黑暗的数据中心中拥有数百或数千台无头服务器的企业肯定需要这种功能。 软件更新部分列出了您可用的更新。
(艾伦·福米·杜瓦尔,CC BY-SA 4.0)
您可以选择是安装所有更新还是仅安装与安全相关的更新,Cockpit 在安装更新时会显示进度条。该过程完成后,您可以重新启动系统。
终端
主机视图中的最后一项是终端,您可以在其中执行所有常规命令行选项。我使用终端的一种方法是克服 Cockpit 功能集的不一致,这很可能是由于 Linux 版本差异造成的。我在运行 Ubuntu Linux 18.04 的 Media Center PC 上发现了这一点。在此版本的 Ubuntu 中,“概述”部分标记为“系统”。它指示可用的错误修复更新,但没有用于应用更新的按钮。较新的 Ubuntu 20.04 LTS 的情况并非如此,它具有预期的概述部分和更新功能。无论哪种方式,都无需担心,因为我可以利用终端来运行正常的 Apt 更新命令。
(艾伦·福米·杜瓦尔,CC BY-SA 4.0)
应用领域
您可能已经注意到,我跳过了主机视图中的应用程序部分。此部分值得您关注,因为它可以操纵 Cockpit 服务的视图和功能。从这里,您可以安装其他功能或应用程序,例如 389 LDAP Server 或用于收集诊断报告和内核转储或构建服务器映像的工具。 Machines部分支持虚拟机管理,Podman 提供容器管理功能。一旦您启动并运行了 Cockpit,最好探索一下“应用程序”部分。
(艾伦·福米·杜瓦尔,CC BY-SA 4.0)
最后的想法
Cockpit 使用安全 shell (SSH) 客户端来访问远程服务器,因此可能会对创建我上面描述的统一视图的系统产生一些资源影响,因为每个托管服务器都将具有关联的 SSH 连接。
$ ps fax |grep cockpit
2064515 ? Ssl 0:50 /usr/libexec/cockpit-tls
2064521 ? Ssl 0:41 /usr/libexec/cockpit-ws --for-tls-proxy --port=0
2064527 ? S 0:00 \_ /usr/libexec/cockpit-session localhost
2064537 ? Sl 0:38 \_ cockpit-bridge
2064636 ? S 1:37 \_ /usr/libexec/cockpit-ssh webserver
2064639 ? S 1:37 \_ /usr/libexec/cockpit-ssh smtpserver
2064640 ? S 1:37 \_ /usr/libexec/cockpit-ssh ftpserver
2064670 ? Sl 0:02 \_ /usr/bin/cockpit-bridge --privileged
2076607 ? S 0:21 \_ /usr/libexec/cockpit-ssh ldapserver
2078182 ? S 0:10 \_ /usr/libexec/cockpit-ssh teaserver
我使用过许多类似的操作工具,包括封闭的和开源的,用于管理、监控、配置、部署和安全任务。 Cockpit 是一款适合各种规模组织的出色工具。