心梦后花园

Back

Cockpit Cockpit介绍:

Cockpit是一个基于Web的系统管理工具,可以帮助管理员轻松地管理多台服务器。它提供了直观的用户界面,可用于监视系统性能、文件系统、网络状态等,并支持远程管理和配置。

起因#

昨天服务器一天卡死了三次,都是服务器读写剧增导致的,连腾讯云的VNC都卡住了,只能强制重启服务器解决,但是重启后没多久就又卡死了。看日志也没出现可疑的程序,所以准备装个Cockpit方便观察。

安装#

archlinux仓库里面有,可以直接安装,Cockpit还自带了几个插件,按需安装。

pacman -S cockpit cockpit-pcp cockpit-storaged cockpit-packagekit
shell

各个依赖可以自己选择安装,具体依赖信息看下图: Pasted image 20230307133345

安装后默认使用9090端口,如果端口占用是无法启动的,所以需要手动配置文件,修改启动端口。

配置#

端口配置#

如果端口没有占用可以忽略这一步。 端口占用问题创建/etc/systemd/system/cockpit.socket.d/listen.conf文件,如果文件夹不存在就自己创建。修改配置文件为:

[Socket]  
ListenStream=  
ListenStream=8090   #8090为你没有占用的端口,可以自己选择
plaintext

注意:具有空值的第一行是有意的。 systemd允许多个 Listen在单个套接字单元中声明的指令; 插入文件中的空值会重置列表,从而禁用原始设备的默认端口 9090。

要使修改生效需要执行:

 systemctl daemon-reload
 systemctl restart cockpit.socket
plaintext

链接地址:https://cockpit-project.org/guide/latest/listen

nginx配置#

修改端口为9080并启动服务后需要配置nginx配置,我的nginx配置在下面:

重启nginx或重载nginx后即可使用你设置的域名进行访问。

配置TLS证书#

如果你要使用TLS证书访问https网址,需要继续修改配置,首先需要创建证书,推荐使用certbot创建,因为可以设置timer进行自动续订。 使用certbot创建后的nginx配置文件:

配置文件就类似这样,但是要注意proxy_pass https://127.0.0.1:8090; 这一行,这里写的是https,不改不能访问,修改后还需要进行操作。 需要在/etc/cockpit/cockpit.conf文件里添加配置,如果没有该文件就手动创建。

[WebService]  
Origins = https://cockpit.example.com wss://cockpit.example.com  
ProtocolHeader = X-Forwarded-Proto
plaintext

修改配置后重启cockpitnginx即可使用root账号和密码登录网页。 参考:https://cockpit-project.org/external/wiki/Proxying-Cockpit-over-NGINX

后记#

等我登录网页版后才发现我的硬盘只剩下 2G 多一点,难怪一直卡死,我使用gdu分析了硬盘占用,发现很早之前搭建的宝塔的docker镜像占用了 30G ,清理后再也没卡死。 gdu也在源里可以使用pacman进行安装,类似的软件还有ncdu,使用方法就是gdu 要扫描的目录,相比ncdugdu速度更快一点。

在ArchLinux安装Cockpit
https://www.liyp.cc/blog/install-cockpit-on-archlinux-for-remote-management
Author 万古一梦
Published at 2023年10月7日
Comment seems to stuck. Try to refresh?✨