CoentOS 7部署Cockpit监控

Cockpit 是什么?

简介

  • 基于 Web 的 Linux 管理面板,支持 RHEL/CentOS/Fedora、Debian/Ubuntu 等主流发行版。
  • 设计目标:降低运维门槛,同时为专业管理员提供高效的图形化操作界面。
  • 本身是轻量级服务(内存占用 ~30MB),按需启动,不影响系统性能。

核心功能

功能模块 具体能力
实时监控 CPU、内存、磁盘 I/O、网络流量、系统负载、进程列表
日志查看 集成 systemd-journal,支持按时间、优先级(错误/警告)过滤,可直接搜索关键字
服务管理 启动/停止/重启 systemd 服务,设置开机自启,查看服务日志
存储管理 查看磁盘分区、LVM 卷组、RAID 状态,挂载/卸载文件系统,查看磁盘使用率
网络配置 设置静态 IP、DNS、网关,配置 Bond、Bridge、VLAN,查看网络接口状态
用户管理 增删用户、修改密码、管理 SSH 公钥、用户组分配
Web 终端 内置浏览器终端,可直接执行 topvimdockerkubectl 等命令
容器管理 支持 Podman(原生)和 Docker(通过插件),可查看/创建/删除容器,管理镜像
系统更新 显示可用软件包更新,支持通过 Web 直接安装更新(部分发行版)

安装部署Cockpit

  • 安装

    # 安装
    yum install cockpit
    
  • 查看安装版本

    rpm -qa | grep cockpit
    
  • 启动与自启

    systemctl start cockpit          # 立刻启动
    systemctl enable cockpit.socket  # 设置开机启动
    systemctl status cockpit.socket  # 查看状态
    
    • 按需启动机制cockpit.socket 只在 9090 端口“挂号”,有访问时才拉起主进程,资源消耗极低。
  • 查询监听端口

    ss -tuln | grep 9090  # 应显示 LISTEN 状态
    
  • 防火墙设置

    firewall-cmd --permanent --add-service=cockpit # 允许所有来源访问 Cockpit
    firewall-cmd --reload # 重新加载防火墙配置。
    firewall-cmd --list-services # 查看
    

访问与登录

  • 访问地址https://你的服务器IP:9090
  • 登录账户:使用系统存在的普通用户或 root 账户。
    • 推荐使用非 root 用户(具有 wheel 组权限即可执行管理操作)。
    • 若使用 root 登录,请务必确认密码强度。
  • 首次登录提示:浏览器会警告自签名证书,点击“高级”→“继续访问”即可。

生产环境安全加固(可选)

  1. 禁止 root 登录:之后只能使用普通用户登录,再通过 sudo 提权。

    vim /etc/cockpit/cockpit.conf
    
    [WebService]
    AllowRoot=false
    
  2. 修改默认端口

    • 编辑配置文件

      vim /etc/systemd/system/cockpit.socket  # 编辑配置文件
      
      ListenStream=9090 # 找到该内容后,修改成新端口号
      
    • 重新加载配置

      systemctl daemon-reload
      
    • 重启 Cockpit

      systemctl restart cockpit.socket
      
    • 同步修改防火墙

      firewall-cmd --permanent --remove-service=cockpit # 删除旧规则
      firewall-cmd --permanent --add-port=9999/tcp      # 添加新端口
      firewall-cmd --reload                             # 重新加载防火墙配置。
      firewall-cmd --list-ports                         # 查看
      
  3. 限制访问来源

    firewall-cmd --permanent \
    --add-rich-rule='rule family="ipv4" source address="192.168.10.0/24" port protocol="tcp" port="9999" accept'      # 允许指定网段访问指定端口号
    
    firewall-cmd --reload                   # 重新加载防火墙配置。
    firewall-cmd --list-ports               # 查看
    
    • 参数说明
      • source address:允许来源IP
      • service name:指定服务
      • port port:指定端口号
      • accept:允许访问
  4. 监控访问日志:Cockpit 的访问日志记录在 /var/log/messages 或通过 journalctl -u cockpit 查看。


插件与扩展生态

Cockpit 支持官方和社区插件,可按需安装,安装后无需额外配置,刷新页面即可看到对应菜单项。

插件名 用途 安装命令
cockpit-storaged 增强存储管理(支持 RAID、加密) yum install cockpit-storaged
cockpit-docker Docker 容器管理 yum install cockpit-docker
cockpit-podman Podman 容器管理(RHEL 8+ 默认) yum install cockpit-podman
cockpit-machines 管理 KVM 虚拟机(libvirt) yum install cockpit-machines
cockpit-sosreport 一键生成诊断报告(sosreport) yum install cockpit-sosreport
cockpit-pcp 集成性能监控(PCP) yum install cockpit-pcp

卸载Cockpit

  • 停止并禁用服务

    sudo systemctl stop cockpit.socket
    sudo systemctl disable cockpit.socket
    
  • 使用 yum 卸载 Cockpit

    sudo yum remove cockpit
    
  • 清理不再需要的依赖(可选)

    sudo yum autoremove
    
  • 手动清理残留文件(可选)

    sudo rm -rf /etc/cockpit
    sudo rm -rf /var/lib/cockpit
    
    • 注意rm -rf 命令非常强大,请务必确认路径正确再执行,以免误删重要数据。
  • 验证卸载结果

    rpm -qa | grep cockpit
    
    • 如果没有任何输出,说明 Cockpit 已成功卸载。
posted @ 2026-07-29 09:41  克峰同学  阅读(13)  评论(0)    收藏  举报